But since I can figure out what the type of data was that was being serialized in the template and whether I was serializing a scalar or an array value by testing a static function I popped into the wrapper class that the templates are serializing, I can pick and choose my schema ranges depending on what the original class was that I was serializing.
So now it works.
Phew.