This patch annotates the most important analyzer function APIs.
Also adds a couple of assertions for uncovering any potential issues earlier in the constructor; in those cases, the member functions were already dereferencing the members unconditionally anyway.
Measurements showed no performance impact, nor crashes.
To be consistent with the other hunks, where you assert on the parameter, not on the member.