Figured out two jdk1.8.0_20 bugs. Fixed the source code accordingly.

does not compile:  final Function2<?, ?, ?> lambda = (o1, o2) -> o1;
workaround:        final Function2<Object, Object, Object> lambda = (o1,
o2) -> o1;

does not compile:  default int length() {
                       return foldLeft(0, (n, __) -> n + 1);
                   }
workaround:        (for-loop)