Allow convertors to be specialized, some cleanup to how conversion functions are stored internally to allow better reuse.