Very neat! Is it embeddable? There are plenty of statically typed languages but there are hardly any statically typed embeddable languages.
Quite a lot to like here. I only skimmed it but some things that seem like slightly odd choices:
> instead of -> for return types. The latter is pretty clearly nicer IMO and less confusing.
Old C-style type name instead of name: type. The latter is less confusing and plays better with type inference and inlay hints. Easier to parse too.
For a small language I think arbitrary sized integers make way more sense than fixed size. This is one of the few things Python got completely right IMO. If you care about performance you can add a range type, like range(0..256) and unsigned like range(0..) and then use flow typing to convert between them.