pub trait Normalize<T> {
type NormOutput = Self::NormOutput;
type NormalizeOutput = ();
fn norm<const LEN: usize>(
&self,
a: &impl StaticVec<T, LEN>
) -> Self::NormOutput;
fn normalize<const LEN: usize>(
&self,
a: &mut impl StaticVec<T, LEN>
) -> Self::NormalizeOutput
where
T: From<<Self as Normalize<T>>::NormOutput>;
}