func Main() t.4 = HeapAllocZ(8) [t.4+0] = :functable_A t.3 = t.4 t.3 = t.3 t.6 = [t.3+0] t.7 = [t.6+0] t.5 = call t.7(t.3 ) t.8 = t.5 PrintIntS(t.8) ret const functable_A :A_set func A_set(this ) [this+4] = 3 t.0 = 1 ret t.0 const functable_B :B_get :A_set func B_get(this ) [this+8] = 12 t.0 = [this+8] ret t.0 func AllocArray(size) bytes = MulS(size 4) bytes = Add(bytes 4) v = HeapAllocZ(bytes) [v] = size ret v