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