I might consider reframing. For instance, instead of enumerating the list of features, enumerate what you want to accomplish, which is really something different. And then see whether that can help guide you towards a solution.
One thing I recommend being comfortable with is that you will probably not find something that satisfies 100% of your use cases.