thanks to Adam for the suggestion
these operate on a "enum Rotation" which defines a set of standard rotations. These are much faster than our previous method, plus use less memory