Here's a use for the K Combinator that isn't Your Father's Imperative Programming. I sometimes want an arbitrary, one-off object when testing or prototyping things, perhaps in irb:
foo = returning(Object.new) do |f|
def f.bar
...
end
def f.bash
...
end
end