*X> 3^40 `mod` 3 == modexp2 3 40 3
False
*X> modexp2 3 40 3
0
*X> 3^40 `mod` 3
0

I'm confused. Last I checked, 0 == 0.

Using GHC 7.4.1, and the file x.hs (which has been loaded in ghci) can be found here: http://hpaste.org/69342

I noticed this after prop_sanemodexp was failing.

Any help would be appreciated,
  - Clark