pub trait TypeStore<T> {
type Ty: 'static + HyperType + Eq + Hash + Copy + Send + Sync;
type Marshaled;
const MASK: u16;
// Required methods
fn resolve_type(&self, n: &T) -> Self::Ty;
fn resolve_lang(&self, n: &T) -> LangWrapper<Self::Ty>;
fn marshal_type(&self, n: &T) -> Self::Marshaled;
}