pub trait Element: Sized { type Input: Sized; // Required method fn with(input: Self::Input, attr_name: &Ident) -> Result<Self>; }