Hi, I was thinking how to mix rtl-VM and native compilation with respect to closure creation currently in the code we layout the program as ((nfree :16 | flags:8 | ?:7 | tag:0), code, freevar1 ....) Then at closure creation we just set first slot, the code to point to a relative adress relative ip e.g. we just need 24 bits, and finally the free-vars is handled. The thing to think of here is how to introduce a reference to native code, if we add an extra slot in the program data structure as currently down in the old program (not rtl programs) definition, then we must do some heavy magic to map vm-code to native code. Probably it is best to have the first qword / dword in the code to be 0 or the native adress e.g. I propose to add that feature to the rtl-branch. /Stefan