It might be crazy but I like this kind of DSLization of Java a lot
Examples like Guava:
Cache<String, User> userCache = CacheBuilder.newBuilder()
.initialCapacity(7)
.expireAfterWrite(20, TimeUnit.MINUTES)
.build();
Or Hamcrest: assertThat(result, containsString("OK"));
Or Rest-Assured: expect().statusCode(200).when().get("/user/1");I like it as well, and have done similar things by creating input/output classes to use as "structs" when the list of parameters gets unweildy or when I want multiple returns.
datatype name = Name of string
and this is just the way to express that in Java.