Add more docstrings.  Make TargetAddressable.target_type less magical