I think these `: ulong` or `Unqual!T ==` are both useless, *and* counterproductive, since this template is internal, and the only types that can be passed are restricted to the JSON types. If the original test had been `T == ulong`, then this would not have been an issue to begin with.

I was also curious why we had this template to begin with. Shouldn't all this be inside each function individually? I don't see the point of having a centralized `assign`, if all we are going to do with it is make it a massive `if/else` block...