# File lib/facets/more/lisp.rb, line 290
  def reduce(fun, x, list)
    if null?(list)
      x
    else
      fun.call(car(list), reduce(fun, x, cdr(list)))
    end
  end