I've been designing software for about 20 years at this point, and I've used just about every system you can imagine. Today's more seamless dev/prototyping models (like Sketch/Craft/Zeplin/Invision) has a ton of advantages and is a far cry from where we started, but it still has one GLARING HOLE... functional annotations.
In the old days we had static wires with detailed annotations. While they had shortcomings, it meant that the transition to dev was fairly seamless since all the rules, logic, and non-interface/visual system design was captured, presented, and reviewed/signed off in the design process. While no one wants to go back to that world, the complete lack of an easy and robust way to capture functional details around designs using Sketch/Invision is MADDENING.
For anything more complex than a single page app (things that involve actual logic, or conditions) you have to capture details separately and reconcile, or you have to manually add them as comments which, at a glance, have NO real context or easy ability to manage. You can't easily just capture functional details with the design and have that in a contained way that the dev team can reference and use it.
So, what's the answer? Comments is broken... you can keep it, but it's a cumbersome mess. The solution we need is closer integration with Sketch and other design systems (they have plenty of flexibility) that enables you to pop in and out of per screen comment modes, and then to be able to sync those comments to Invision at the same time as the page files and have them accessible in a "dev view" mode.
For example, in Sketch you highlight a given screen and hit a hot key. Sketch "focuses" on that screen, basically putting it on a white canvas/background with any annotations. You can hit a key to tag a thing and write a note, kind of like how Craft works). This model isn't perfect since commenting on global elements is problematic, but it's WORLDS better than what we have now, which is comments in Slack, a separate file with screenshots and assets, or some other legacy nightmare.