This is not really a question, just an observation. FamilyInstance.Symbol would occasionally give ‘dereferencing a nonpointer’ error, while Element.Type would succeed. I think that Element.Type is less worried about input element scope, while FamilyInstance version may be more strict.
So if you want to gather Types, and then find Families with FamilySymbol.Family, I recommend using Element.Type.