func domain(f : Map) -> Set return {all x for x,y in indexed(f)}
domain(mkmap({[0 0] [1 10]})) = {0 1} domain([10 20]) = {1 2} domain(`abc') = {1 2 3}