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