The original idea was for these methods to eventually become entirely encapsulated by the subtype package, but as it turns out we still have use for them in custom transformation functions, so move the subtype package to use these shared functions instead.