to me it makes no sense to turn TypeNameHandling off. The interface or abstract class can have properties which are also interfaces or abstract classes and so on