pub trait GetFun<T> { fn fun(&self, name: &StringName, ctx: &Context, pos: Position) -> TypeResult<T>; }