I know that EuclidianRing isn't technically legal for types that can overflow, but EuclidianRing[Int] and EuclidianRing[Long] come up often enough when doing abstract math that I think it would be better if alleycats had instances for them, and if you are doing Int and Long it makes sense to include Short and Byte too.