@Kartik Agaram This reminds me of your code organization scheme, with the feature splicing and stuff:
https://github.com/kiselgra/cm-fop , though their focus is more on outputs than inputs—they ended up with this by optimizing for exploratory programming with heterogenous outputs, not readability/understandablity. I think it goes to show how much overlap there is between those goals—maintaining understanding of a codebase is a key part of enabling exploration.
I'd never heard of feature-oriented programming before, but it's neat