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