Wouldn't something like this be possible?`T toHexString(string toHexString(Order order = Order.increasing, LetterCase letterCase = LetterCase.upper, T)(.........) if (T == string)`
I'm not sure what that's supposed to be.... but in any case, you'd still need to specify T somewhere in the call, the variable you are assigning the result to never does anything with regard to overloads or template args.