You mention that apps can safely ignore annotations of unknown types, but you should probably specify that they are still expected to preserve such annotations even if they don't use them for anything, i.e. ignore doesn't mean "discard".
[1] https://github.com/gamburg/margin/commit/d9abf003f665627d392...