TypeFun.Data.Maybe
type family MaybeCase a nothing just :: r
type family NothingToConstr a c :: Constraint
type family JustToConstr a c :: Constraint
type family CatMaybes l :: [k]
type family FromJust a :: k