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