alloc : [x]. Unit -> rec t { l: < Nil Unit | Cons { data: x, rest: t }# > take };

map : [a,b]. { list: rec t { l: < Nil Unit | Cons { data: a, rest: t }# > }!, f: (a -> b) }#
              -> rec t { l: < Nil Unit | Cons { data: b, rest: t }# >};
map l = 
  take l2 { list = node } = l in
    take l3 { f = fun } = l2 in
      take node2 { l = head } = node in
        case head of
          Nil u -> 
            let newNode = alloc Unit in 
              put newNode.l := Nil Unit end
            end
          | v2 -> case v2 of
                    Cons remaining ->
                      take remaining2 { data = x } = remaining in 
                        let newNode = alloc Unit in
                        put newNode.l := 
                                    Cons {
                                      data = fun x, 
                                      rest = map { list = remaining2.rest, f = fun }
                                    } end
                        end
                      end
                  end
        end
      end
    end
  end;
