Maybe I'm misremembering... or you just drew my attention to some language that existed that allowed it, without actually advocating it.
(Note: GitHub allows you to freeze the version you are at in the URL to the currently viewed commit by pressing Y, and you can get lines or ranges in the link by clicking and ctrl-clicking the line numbers. I updated this to make the links easier)
Yep, reviewed. Your "arrows" definition predates what I've said and matches it. So that aspect is now officially your solution...that I perhaps got by osmosis. But to the extent I wound up at the same conclusion in my own head-space independently, that is doubly good because it makes it more likely to have some emergent rightness.
There are going to be a lot of interesting usages of arrow words. I'd been using => for lambda, but that gets us into debates about whether <= should be for some leftward pointing arrow or greater-or-equal. If we make lambda instead -> then => can just be a synonym for >= in the default configuration, and you can do with it what you like in your own dialects and time.
So having -> be lambda is lighter-weight and is in keeping with better company as matching Haskell and co, instead with JavaScript. Overrideable by anyone who disagrees.
That pushes the shove operators for making a PATH! (or any function) act as infix off to being something else. 10 >> lib/+ 20 and 10 << lib/+ 20 are one pairing of options, but I feel like >> should have a bigger and "heavier" purpose. >- and -< are still light-looking, so maybe 10 >- lib/+ 20 ? Or perhaps 10 >| lib/+ 20 so the whole family of operations is >|, |<, |>, and |<. I'll have to work through what exactly all these mean again (they're in the tests, thankfully, so I can look at all the edge cases that motivate why there are 4 and what they do).
Feeling more confident and stable about all of this, so that's good.