All shapes Pushpins, Polylines and Polygons derive from the IPrimitive interface. This means that they can be passed into any function that takes in an IPrimitive object. Also, any function that returns an IPrimitive is capable of returning any of these shapes.
All IPrimitive objects have a
metadata property which can be used to link data to a shape object. Some modules such as the GeoJSON module also use this property.