a functional programming prelude for ruby