It's more complicated than saying to the project leads "I don't expect you to deal with this, I'll do the research and the work." The problem is that ultimately, someone who "owns" the project will need to understand this stuff in order to accept it. They will need to review your patch and understand how it fits in with the overall system and the interests of many users. For example, whether including this patch will break other users in some obscure case, or whether it will pull in too many dependencies. If you are proposing a non-trivial amount of work for yourself to do, it will ultimately end up becoming a non-trivial amount of work for someone else as well.
There's also the fact that if you submit it, you may not be around to maintain it, and then people like David will have to understand it even better to fix it when it breaks.
I'm not trying to be a nay-sayer and block progress. I just want to make the point that sometimes, as a project lead, it isn't a good idea to embark on a large new feature with a contributor you don't know well, especially if you don't have much time to give to the project yourself.