pub trait TypedValue<F: TypedFunc<Values: Arena<F::Value, Output = Self>> + ?Sized>: Value<F> { // Required method fn ty(&self, f: &F) -> F::Ty; }