Feature proposal: alias with constraints

It isn’t a problem, just a proposal.
It isn’t about creating new types, but adding constraints that are natively checked when aliasing a type.
It is just to empower, fluidify and speed up basic and borings checks, in a concise and safe way.
It means, “when using the alias Email, it’s guaranteed that the String you are dealing with, matches the regex (or whatever) defined”. You’re right, it’s runtime validation.

But, maybe the “alias” way is not the one that matches my needs…

I know the syntax may be confusing (look like “constructors”), I would try to find something that suits better.