# File lib/facets/more/lisp.rb, line 213 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