let Y    := map f to 
              let g := map x to f(map z1,z2 to (x(x))(z1,z2));
	    in g(g);
    APPEND := map ap to 
	        map x,y to 
                  if x = null then y else cons(first(x), ap(rest(x), y));
    l      := cons(1,cons(2,cons(3,null)));	
in (Y(APPEND))(l,l)
