var things = {} func get_unique_count(): return things.size() func add(thing): if things.has(thing): things[thing] += 1 else: things[thing] = 1 func has(thing): return things.has(thing) func get(thing): var to_return = 0 if things.has(thing): to_return = things[thing] return to_return func sum(): var count = 0 for key in things: count += things[key] return count func to_s(): var to_return = "" for key in things: to_return += str(key, ": ", things[key], "\n") to_return += str("sum: ", sum()) return to_return func get_max_count(): var max_val = null for key in things: if max_val == null or things[key] > max_val: max_val = things[key] return max_val func add_array_items(array): for i in range(array.size()): add(array[i])