local MyMap in MyMap = proc {$ Ls F R} case Ls of `|`(1:H 2:T) then local Res in {F H Res} local RestAns in R=`|`(1:Res 2:RestAns) {MyMap T F RestAns} end end else R=nil end end {MyMap MyList MyFun MyRes} end