-- | Converts a 'Closed' set into its underlying set. If the 'Closed'
-- set is unbounded then this operation is undefined (see
-- 'seenBy'). It's reasonable to think of this operation as
-- 
-- @
--   let omega = succ omega in seenBy omega
-- @
seen :: Closed a -> HashSet a
seen = seenByG O
seen :: Closed a -> HashSet a
seen = seenByG O
seen = seenByG O