S12 says:

    subtype Str_not2b of Str where /^[isnt|arent|amnot|aint]$/;

My brain parses this as:

    subtype Str_not2b[Str where /.../];


    subtype Str_not2b[Str] where /.../;

Neither of which really reflect how it is really parsed.  It looks like
`subtype` has a special syntax.  I find this to be free of special
syntax and clearer to boot:

    type Str_not2b ::= Str where /^[isnt|arent|amnot|aint]$/;

Why don't we just ditch the `subtype` keyword?


Reply via email to