
global.alloc := (λ x.
    return (λ a.
        a.value := x ;
        return a) {}) ;

while ?
    (global.alloc ?).f := 1 ;

global.x := {} ;
while ?
    run (λ t.
        global.x := alloc ? ;
        global.x.next := t ;
        return {}) global.x

