I agree with you that the target_tp is not a good name, but I was struggling to come up with something better. What about if we refer to it as the dtype of a memory type? We then change get_target_type to get_dtype?

Or is that too confusing with the array dtype?