The following code is intended for use as an overloaded extension for the GetPropertyValue<T>(string alias, bool recurse) method when getting strongly typed values back.
This example uses Archetype where in Umbraco v7.1.8 calling such a property value recursively returns an ArchetypeModel with 0 fieldsets.
There could be other possible applications for allowing a developer to determine the logic when GetPropertyValue(string alias, bool recurse) is trying to get a value recursively but accepts it.