Updated ASM module.
Updated NativeFactory, and added a cache.
Updated AST.