module Data.Microgroove.Lib.Exists where -- | The Existential Type @Some f@ is some @f x@ where @x@ is known at runtime data Some f where Some :: f x -> Some f -- | Avoids one indirection compared with @Maybe (Some f)@ data MaybeSome f = forall x. JustSome (f x) | None