Experimental

this pattern is already covered, you can use `Function.wrap`