Minor addition, optimize >> (I couldn't help myself!) -- ryan > instance Ord b => ConstrainedBind (S.Set a) (S.Set b) where > type BindElem (S.Set a) = a > m >>= f = S.unions $ map f $ S.toList m > m >> n = if S.null m then S.empty else n