dynamic::compare needn't be a template.