CoercibleType now returns the canonical type it represents, planner tests for comparable fields on joins
always use unique ID