string-indexed phantom symbols

No matter what jshint says, these are not really properties, but string-indexed elements. We access them later with a string index that comes in the geometry.type property. I believe the code is clearer this way.