I like it. It solves non-nullable types and scope as a type constructor. Although I do hope it wouldn't require more syntax than adding a single new type constructor.