SDK objects answer true for an isI<Name> brand per interface they implement — the SDK's own
convention for runtime type checks — so the brand names are the type names. An object usually
carries several (a named range is an INamedRange AND an ICellRange); the most derived one
wins, because its listing reaches the others through extends and the reverse is not true.
The indexed type of a live SDK object, or
nullwhen it carries no brand the index knows.