Looks neat! Reading the docs only a few things stand out as odd to me:
- The common types are written as fully lowercase, shortened words (str, num, fib) but then function types are written as Function(). That seems like a weird exception.
- The use of a comma to delimit object fields, but a semicolon to delimit static fields, seems arbitrary.
- If brackets around control flow blocks are required, which they seem to be, then parentheses around the conditions seem unnecessary.