pub type Square<A> = <A as Mul>::Output;
Alias to make it easy to square. Square<A> = <A as Mul<A>>::Output
Square<A> = <A as Mul<A>>::Output
Note: Encountered an error during type layout; the type failed to be normalized.