Improve property resolution when properties with the same name differ by type, plus add unit tests for the property introspector.