The + operator is overloaded above the following domains:
NumericType + NumericType -> NumericType
VectorType + VectorType -> VectorType (Vector addition)
MatrixType + MatrixType -> MatrixType (Matrix addition)
PolygonType + PolygonType -> PolygonType (Boolean UNION operation)
CurveType + CurveType -> CurveType (Curve curve profiling)
CurveType + CtlPtType -> CurveType (Curve control point profiling)
CtlPtType + CtlPtType -> CurveType (Control points profiling)
ListType + ListType -> ListType (Append lists operator)
StringType + StringType -> StringType (String concat)
StringType + RealType -> StringType (String concat, real as int string)
Note: Boolean UNION of two disjoint objects (no common volume) will result with the two objects combined. It is the USER responsibility to make sure that the non intersecting objects are also disjoint - this system only tests for no intersection. Boolean UNION of two polyline objects will merge the list of polylines.