Subject: | Maybe[Foo] should better emulate Foo|Undef for constraints |
Maybe[Foo] cannot coerce Foo unless it's explicitly defined as a coercion of Maybe[Foo]. It should work like Foo|Undef in this regard.
In other words:
Foo can coerce Bar.
Maybe[Foo] can accept Foo|Bar|Undef. If Bar, it's converted to Foo.
Maybe[Foo] cannot accept Baz, if Baz is not Foo|Bar|Undef.