
func all_nums(nums:[Int] -> Text):
	result := ""
	for num in nums:
		result ++= "$num,"
	else:
		return "EMPTY"
	return result

func labeled_nums(nums:[Int] -> Text):
	result := ""
	for i,num in nums:
		result ++= "$i:$num,"
	else:
		return "EMPTY"
	return result

func table_str(t:{Text:Text} -> Text):
	str := ""
	for k,v in t:
		str ++= "$k:$v,"
	else: return "EMPTY"
	return str

func table_key_str(t:{Text:Text} -> Text):
	str := ""
	for k in t:
		str ++= "$k,"
	else: return "EMPTY"
	return str

func main():
	>> all_nums([10,20,30])
	= "10,20,30,"
	>> all_nums([:Int])
	= "EMPTY"

	>> labeled_nums([10,20,30])
	= "1:10,2:20,3:30,"
	>> labeled_nums([:Int])
	= "EMPTY"

	>> t := {"key1":"value1", "key2":"value2"}
	>> table_str(t)
	= "key1:value1,key2:value2,"
	>> table_str({:Text:Text})
	= "EMPTY"

	>> table_key_str(t)
	= "key1,key2,"
