How we structure work on these projects needs to be rethought so that the majority of these don't happen. The attitude of code-or-gtfo is kinda broken with respect to how much work people put into a project with an uncertain outcome.
Maybe we should
* submit an issue outlining new feature, or technique to fix bug
* create a branch, reference that issue
* update issue for a branch review, get greenlight
* do possibly hours worth of work
* submit PR that isn't outright rejected
Just communicating through pull requests seems very macho and wasteful to me.