// Yeah this subclass relationship is nasty sclass ManagedIntObjects_v1_virtual extends ManagedIntObjects_v1 { replace Addr with int. replace BoxedAddr with Int. IIntMemory vmem; *(IIntMemory *vmem) { mem = null; } public long size() { ret (int) vmem.size(); } public int get(Addr i) { ret vmem.get(i); } public void set(Addr i, int val) { vmem.set(i, val); } int[] readIntArray(BoxedAddr ptr) { if (ptr == 0) null; int n = mem.get(ptr++); int[] a = new[n]; for i to n: a[i] = get(ptr+i); ret a; } }