I think the compatible_with name is rather unintuitive. "compatible" is a symmetric relation in C, and two types can only be compatible if they have the same qualifiers, but compatible_with seems to be used here for some kind of subset relation that might better be named superset_of or pointer_can_convert_from or similar; nothing about the compatible_with name serves to tell the reader which way round the subset relation is meant to be.
-- Joseph S. Myers [email protected]
