I disagree with you about huge cost for the compiler and benefits are the same as in normal code block: reducing boilerplate.
In general, there is no type inference available for OOP type-hierarchies as opposed to a more Haskell-like type system, where Hindley-Milner works
class C { a: int = 0; }
can't be replaced with
class C { a = 0; }
? what issues it brings?..
I disagree with you about huge cost for the compiler and benefits are the same as in normal code block: reducing boilerplate.