# File lib/facet/lisp.rb, line 223 def zip(fun, l, m) if null?(l) and null?(m) nil elsif null?(l) or null?(m) raise ArgumentError.new("zip with unequal length lists") else cons(fun.call(car(l), car(m)), zip(fun, cdr(l), cdr(m))) end end