In green fields projects, this makes a fair bit of sense at initial reading, tentatively.
But new code becomes old code, and then builds on the quality / discipline / cowboy status of the last person to touch the code, in a complex and interlocking way.
I can’t say I’d be excited to find a partially converted existing codebase of this. But in fairness, I’m on my couch on a Sunday and haven’t actually worked through your examples (or read the original paper). I see the benefit to having both types of extensibility, obviously. Just not sure it outweighs the real world risk once actual humans start getting involved.
I don’t know a single person who can’t say they’ve never taken a single “good enough” shortcut at work, ever, and it seems this only works (efficiently) if it’s properly and fully implemented.
I should have marked mine more clearly as a “first pass” from the start.
Worked with too many hotshot folks to trust future/past humans quite that much.
Once in a while, I’ve even been that hotshot guy. Definitely not excluding my own “oh that was prod…” adventures when I worry about humans, didn’t mean to come off like I think I might have.
But interesting, and certainly worth kicking around.