The list of either-or properties is delimited with commas, except in two places where it’s a semi-colon (marked in red). Why? Do the semi-colons delineate some “type” of property? Are they organized into groups? What are the criteria for those groups?
Full disclosure: this has no impact whatsoever on my current WIP, nor does it relate to any actual coding problem. I just happened to notice it and it made me insanely curious.
Totally random guess: maybe they’re properties inherited from different kinds? The first three are properties an object can have, the next group are properties a thing can have, the last two are properties a person can have.