"type" member name is overloaded
The CRS and SpectralCoords objects defined in Section 4 have members named "type", giving local/link/named and frequency/wavelength/energy/wavenumber options respectively. This is a bit contrary to GeoJSON/TFCat conventions, in that the "type" member is used to designate TFCat Object type (type of TFCat Object as defined in Section 3).
Since CRS and SpectralCoords are not "TFCat Objects" as such (though they are referred to as Objects in the TFCat spec) this doesn't strictly introduce an ambiguity, but it's a bit confusing and could lead to strange parser error messages in a few cases.
So I'd suggest renaming these to e.g. "crstype" and "coordtype" or maybe "flavo[u]r" or "variant" or something. But it's not essential, if you're keen to keep it as is, that's OK.
If you agree and want me to prepare a merge request I can do.