Eric, I love you, but chances of a regular dev come up with a good abstraction as map() are extremely low. You can only extract one from a big project, when you see repititive parts all around. And even then you need some luck.
There is a cogniteve illusion that is easy to find abstractions cuz we build application from well defined libraries.
Devs shoot themself into a foot trying to extract stuff, writing layers of models. This is current industry standard.