Property definitions

trees $ TrieNode :: defaultinit
# TrieNode used to store the Character key of the value
private class TrieNode[E]
	var c: nullable Char
	var value: nullable E
	var children = new HashMap[Char, TrieNode[E]]
	var is_leaf: Bool = false

	fun collect_values: Array[E] do
		var values = new Array[E]

		var todo = new List[TrieNode[E]]
		todo.add self
		while todo.not_empty do
			var node = todo.shift
			var value = node.value
			if value != null then values.add value
			for child in node.children.values do
				todo.push child
			end
		end
		return values
	end
end
lib/trees/trie.nit:183,1--205,3