TypeDef implementation