# File lib/facet/lisp.rb, line 249
  def filter(pred, list)
    if null?(list)
      nil
    else
      if pred.call(car(list))
        cons(car(list), filter(pred, cdr(list)))
      else
        filter(pred, cdr(list))
      end
    end
  end