It's a non-functional change, but I'm not a fan of the `_cart` suffix. A projection is by definition a cartopy thing. Using `target_proj` and `target_cs` as your two versions would fit better with usage elsewhere. If you unify your two `isinstance(target_proj, iris.coord_systems.CoordSystem)` checks that should be simple to achieve.