Scala functor utility library