import "Prelude" import "Set" as Set import "MSet" as MSet import "MList" as MList fromList :: [a] -> Set.T a fromList l = runProc (MSet.freeze $ MSet.fromList l) toList :: Set.T a -> [a] toList s = runProc do result = MList.createC (Set.size s) Set.iter (MList.add result) s MList.freeze result