const (u)char& should only accept single character strings (helps for templates)
make sure the flags are always set to 'unsorted' after adding methods
rejig the ordering of template v.s. overloads v.s. explicit instantiations of methods