I'm still thinking about the call signature, this is the best I've found so far (strongly inspired by Marvin). I notice your concern and will think about it once more for the next pull request...