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