The ^ operator is overloaded above the following domains:
NumericType ^ NumericType -> NumericType
VectorType ^ VectorType -> VectorType (Cross product)
MatrixType ^ NumericType -> MatrixType (Matrix to the (int) power)
PolygonType ^ PolygonType -> PolygonType (Boolean MERGE operation)
StringType ^ StringType -> StringType (String concat)
StringType ^ RealType -> StringType (String concat, real as real string)
Note: Boolean MERGE simply merges the two sets of polygons without any intersection tests. Matrix powers must be positive integers or -1, in which case the matrix inverse (if it exists) is computed.