* Fix object spread runtime semantics * limit this deoptimization * optimize empty objects * declare variables