/// assert_eq!(format!("{}", big_nimber.square()),
/// "*0xde4ae3a94a88a921e3a92850a9218171");
/// ```
-#[derive(Clone, PartialEq, Eq, Hash)]
+#[derive(Clone, Hash)]
pub struct FiniteNimber(FiniteNimberEnum);
+impl PartialEq for FiniteNimber {
+ fn eq(&self, other: &Self) -> bool {
+ self.0 == other.0
+ }
+}
+impl Eq for FiniteNimber {}
+
/// Enumeration forming the guts of [`FiniteNimber`]. Large finite
/// nimbers are stored as a `Vec<u64>`, but small ones are stored
/// directly, which means that the lowest few levels of each recursive