This code:
module Px {
let (+) = (`px(x), `px(y)) => `px(x+y);
}
let fourPx = Px.(`px(2) + `px(2));
begets a warning 44:
this open statement shadows the value identifier + (which is later used)
Is it because +
is a pervasive and has a special treatment? If I replace it with, say, +++
, the warning goes away.
More importantly, is the warning useful? And can I make it go away for usages like this (other than disabling the warning 44 altogether)?