Why didn't this cause a syntax error?
This is because the type notation is only expected to be an expression, and that's very broad:
assignement:
| NAME ':' expression ['=' annotated_zhs]
. . .
This has no bearing on the execution of the code. If the "type" is nonsensical, and the execution/errors produced will be dependent on the linter being used.
```