typedef long unsigned int size_t; template struct Replace; template class _Template> struct Replace<_Template, char> { using type = _Template; }; template struct TPL; template struct Traits { template using Rebind = typename Replace<_Alloc, _Tp>::type; }; using tdef = Traits>::template Rebind;