This creates the boolean algebra of sets from any base boolean algebra. note that the sets created are true sets in the mathematical sense, not the usual programatic aproximation.
A generalized set can be thought of as a map from keys to boolean values. perhaps the 'map with default' should be seperated out?
|data Set k v|
|combine :: (v -> v -> v) -> Set k v -> Set k v -> Set k v|
|member :: k -> Set k v -> v|
|Produced by Haddock version 0.8|