Packages 
Package Description
org.organicdesign.fp
A tiny data definition language for Java, in Java.
org.organicdesign.fp.collections
Type-safe versions of immutable collections (mostly from Clojure), plus unmodifiable and immutable collection interfaces that fit these collections into the java.util interfaces.
org.organicdesign.fp.function
Exception-friendly functional interfaces named by the number of arguments: Fn0, Fn1, Fn2....
org.organicdesign.fp.indent  
org.organicdesign.fp.oneOf
This package contains Option which has Some() and None() which is useful for indicating "Not-Found" or "End-of-stream/file".
org.organicdesign.fp.tuple
Immutable, type-safe, heterogeneous containers - ML calls these "records." ML, Haskell, and Scala use tuples - why not Java? Actually, tuples are *more* important in Java because Java does not have type aliases.
org.organicdesign.fp.type
Some ideas for runtime types.
org.organicdesign.fp.xform
Immutable descriptions of data transformations (Transformable), and a highly efficient single-pass, short-circuiting implementation that carries out those transforms in a single pass (Xform).