Is there ever a reason for these functions to be a template? :-/. They were in the original code, but I have no idea why...