So for example here there is * as the first attribute of IfcSIUnit:

The first attribute as in the documentation should be a IfcDimensionalExponents

However instead of #28= IFCSIUNIT(#30,.LENGTHUNIT.,$,.METRE.); it is #28= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
So in the wiki about the step file it's reads:
Explicit attributes which got re-declared as derived in a subtype are encoded as "*" in the position of the supertype attribute.
However i don't unterstand the use of * at all.
The ifc file is from here https://github.com/buildingSMART/Sample-Test-Files/blob/master/IFC%204.0/BuildingSMARTSpec/air-terminal-element.ifc