There's no support for early initialisers in dotty. Make initialisation more lazy.
Handle Dotty Idents

In Scalac any function call has Select as it function. In dotty it could be an Ident.
Eg in Scalac you get Select(Preded$, println);
while in dotty you get Ident(println)
In order to get actual receiver need to either look at the type(which is TermRef) or at owner chain.
First one is more systematic but is isn't exposed in the abstraction API, so using the second one.
Handle dotty typeApply.

TypeApply's are free to not have a Apply node around them in dotty.
Refactor genArrayValue, so that array creation from elements could be reused
Minimal set of modifications to allow to support both dotty <label> DefDefs and scalac LabelDefs

DefDefs are assumed to be grouped in blocks that share same return address used to jump back.
A bit more abstraction on what are primitives and operations on them.

Required to support arrays in dotty. Operations on those couldn't be decided based on symbol.