In Gremlin-Groovy we have function wrappers like GSupplier, GFunction, GBinaryOperator, etc. which I use to wrap closures so that GraphTraversal methods know what the closure represents. I just learned you can do this:
WOW! That is a huge saving in terms of code management.
This is breaking if people are using GXXX for something, however, with as XXX, they shouldn't be using GXXX.