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