Mystery solved. The way that FreePBX generates PJSIP configurations means that the same context is used repeatedly for the different types. So sprinkled over several files will be sections like this:
[fpbx-1-trunk1]
type=endpoint
[fpbx-1-trunk1]
type=registration
[fpbx-1-trunk1]
type=identify
... etc
If a later include has something like this:
[fpbx-1-trunk1](+)
Asterisk doesn’t know which section to add it to, and the included line will probably fail. I don’t know if there is a work around for this or not.
edit - there is now a fix to this issue: Override pjsip.identify.conf - #10 by jcolp