# fibs = 1 : 1 : zipWith (+) fibs (tail fibs) fibs = THUNK(let { tailFibs = THUNK(tail fibs); zippedList = THUNK(zipWith plusInt fibs tailFibs); tailList = CON(Cons one zippedList); list = CON(Cons one tailList) } in list); main = THUNK( let { result = THUNK(take five fibs); f = THUNK(forcelist result) } in seq f result)