1 2 3 4
pub trait Function<Domain> { type Codomain; fn eval(&self, input: &Domain) -> Self::Codomain; }