Rect<T> transform_rect(const Rect<T>& rect, Rotation<T> rotation) { using std::sin; using std::cos; auto rad = rotation.radians(); return transform_rect(rect, sin(rad), cos(rad)); }
Vector2<T> transform_point(const Vector2<T>& point, Rotation<T> rotation) { using std::sin; using std::cos; auto rad = rotation.radians(); return transform_point(point, sin(rad), cos(rad)); }
Rotation<To> rotation_cast(const Rotation<From>& rotation) { return radians(static_cast<To>(rotation.radians())); }