* Now there is only one one * Rotation no longer has a parameter * Moved some type parameters to associated types * Relaxed some bounds and simplified a bound * Removed unnecessary bound in * Deduplicated multiplication code