Types are better detected
Clearer names
Fields overriden by asm.js are not generated.