I've spent quite a bit of time dealing with ODataV4 over the past year or so.
Let me share how the conversations (including my own) have generally gone:
1. We need to do X. OData has support for that, but it's frightfully complex and overkill for what I need.
2. Instead of OData, we're going to do something much simpler that meets our use case.
3. <Some time Later>
4. We had to add a few more features to our solution. Things are looking a bit sloppy now.
5. <Some time later>
6. We're still adding features, ones we originally didn't think we would need. Everything is starting to feel like a hack, and we're spending more time on our platform components than our actual software.
7. <Some time later>
8. Screw it. We're dropping what we did and just using OData. It turns out we need a big percentage of it's features and having the flight path in front of us for future growth is awesome.
In my day job, I've spent a fair bit of time coming up with "Simpler" versions of many of the Odata patterns and semantics just to provide a quick on-boarding process yet still provide room for growth should the project(s) need it down the lime. I can't share any of that at this time, unfortunately.
This doesn't answer your question, and I'm perhaps a bit biased in my answers as I know the OData folks quite well, but the above is a pattern of behavior I've seen again and again.
Cheers,
Chris