Here is a very useful generic type alias:
type Maybe<T> = Some<T> | Error
Not sure why you'd want to disallow that. type Maybe<T> = Some<T> | Error
Not sure why you'd want to disallow that.