Type.Either
type family IsLeft a :: Bool
type family IsRight a :: Bool
type family FromRight a
type family FromLeft a