Isolate pops and pushes through function objects so that they can be manipulated
Isolate pops and pushes through function objects so that they can be manipulated

It gets really weird, but it will become clearer

philou/java-monads-kata