Thanks, almost there. I wouldn't bother with the DECL_DECLARES_TYPE_NON_TEMPLATE_P macro; it doesn't make the code any clearer. Just write the test directly in the function. Also, we need a more descriptive name than "lang_record_type" for this struct. Perhaps sorted_fields_type? Don't add another blank line before struct lang_type. Jason