let
partition s =
Set
.fold
(
fun
x
->
Map
.add x (ext s x))
(canrepr s)
Map
.empty