let canrepr s = Map.fold (fun _ (y, _) acc -> if Map.mem y s.find then acc else Set.add y acc) s.find Set.empty