JunggiKim /java-refinedJava80Refinement and functional value types for Java 8+functional-programmingjavajava8maven-central