"Ref" to be replaced by Supplier.
"Func" to be replaced by Function.
"Predicate" to be replaced by Predicate.
"Action" to extend Consumer (allowing for throwing checked exceptions).
"UncheckedFunc to extend Function.

Also added `@SuppressWarning` on method that the Java 8 compiler is
emitting warnings for while the code being alright.