Key and value are separated by couple_sep.
Couples are separated by sep.
var m = new HashMap[Int, String]
m[1] = "one"
m[10] = "ten"
assert m.join("; ", "=") == "1=one; 10=ten"
	# Concatenate couples of key value.
	# Key and value are separated by `couple_sep`.
	# Couples are separated by `sep`.
	#
	# ~~~
	# var m = new HashMap[Int, String]
	# m[1] = "one"
	# m[10] = "ten"
	# assert m.join("; ", "=") == "1=one; 10=ten"
	# ~~~
	fun join(sep, couple_sep: String): String is abstract
					lib/core/text/abstract_text.nit:2415,2--2425,54
				
	redef fun join(sep, couple_sep)
	do
		if is_empty then return ""
		var s = new Buffer # Result
		# Concat first item
		var i = iterator
		var k = i.key
		var e = i.item
		s.append("{k or else "<null>"}{couple_sep}{e or else "<null>"}")
		# Concat other _items
		i.next
		while i.is_ok do
			s.append(sep)
			k = i.key
			e = i.item
			s.append("{k or else "<null>"}{couple_sep}{e or else "<null>"}")
			i.next
		end
		return s.to_s
	end
					lib/core/text/flat.nit:1571,2--1593,4