I couldn't agree more. The <> syntax just looks like C++ templates is is just plain ugly..
However ugly, it does have the advantage of requiring parentheses around the thing being
cast. With the c-style cast, it's not always obvious what exactly is cast. This has to do with
operator precendence (and could be a source of bugs).
C-style cast are currently not working on purpose.
Casts need to be fixed first.
The 2nd 'bug' is also done on purpose for now, since we don't have to check circular initializations now
So the declaration is only added to the scope after it's been done, so after the initialization. But for better
error messages, it might be needed to change this