add again check to ensure abstracts are either @:coreType or have an underlying type
default to Dynamic when get_underlying_type is used on @:coreType abstract
make sure a_this of @:coreType abstracts is always the type itself
deal with @:coreType abstract recursion in various places
add missing underlying type declaration
%= is also a valid assign op
formating fix to EObjectDecl printing