pub trait Signature { type Type: SigType; fn params(&self) -> &[Self::Type]; fn returns(&self) -> &[Self::Type]; }