begin
routine do fn(integerfn fred(integer i))
integer x
x = fred(1)
end
routine do proc(routine fred(integer i))
fred(1)
end
routine do map(integermap fred(integer i))
fred(1) = 1
end
routine do pred(predicate fred(integer i))
return if fred(1)
end
integerfn fn fred(integer i)
result = i
end
routine proc fred(integer i)
end
integermap map fred(integer i)
owninteger j
result == j
end
predicate pred fred(integer i)
true if i&1 = 0
false
end
endofprogram