I think functions to compare equality should be exposed (with a digits-to-compare parameter), but exposing CReal as an instance of Eq and Ord is a little fishy, as this can break a whole bunch of the informal laws surrounding Haskell's Eq and Ord classes.
Although other types such as Float and Double break the laws of Eq, I think it would be appropriate to hold "exact" real arithmetic to a higher standard.
I think functions to compare equality should be exposed (with a digits-to-compare parameter), but exposing CReal as an instance of Eq and Ord is a little fishy, as this can break a whole bunch of the informal laws surrounding Haskell's Eq and Ord classes.
Although other types such as Float and Double break the laws of Eq, I think it would be appropriate to hold "exact" real arithmetic to a higher standard.