A Java implementation of the Option monad, but as a Java collection/Iterable.  Named Possible<T> so that Possible.value(val) and Possible.emptyValue() makes sense.