So I read through the example, and I do get it, but I'm not a fan, but I also think you put a lot of thought into this in general.
If you want adoption, I think you need to focus on at least two things:
- Testing (part 1). Your library doesn't have tests, and was only pushed about 9 hours ago from the time of this comment. Developers don't have any way to trust that the library works the way they think it should.
- Testing (part 2). There is no obvious way to test code written with your library/framework. Developers won't be able to verify if their code is doing what they expect. I suspect you could have build return faked methods, but then how do you tell the build function that it should be in test mode?