- (<>) :: Monoid m => m -> m -> m
- class Foldable f => Collection f where
- unions :: (Ord a, Collection f) => [f a] -> f a
- fromList :: (Ord a, Collection f) => [a] -> f a
- filterC :: (Collection f, Ord a) => f (Maybe a) -> f a
- newtype Multiset a = Multiset (Map a Int)
Collections are foldable types that support empty, singleton, union, and map operations. The result of a free variable calculation may be any collection. Instances are provided for lists and sets.
Lists are containers under concatenation. Lists preserve ordering and multiplicity of elements.
Sets are containers under union, which preserve only occurrence, not multiplicity or ordering.
Multisets are containers which preserve multiplicity but not ordering.