support fixed sized array
support interface inheritance
improve the auto/immutable and access level label workarounds