Say I have the following type:
type Example_Type is new Float;
A large number of intrinsic operators will be defined for Example_Type, which is good in the overwhelming majority of cases. Like:
function "+"(Left, Right : Example_Type) return Example_Type;
and
function "*"(Left, Right : Example_Type) return Example_Type;
But let's say multiplication of two Example_Type's shouldn't equal another Example_Type, like what occurs with Dimensions. How can these intrinsic operators be hidden selectively?