Can someone tell me why the Haskell Prelude defines two separate functions for exponentiation (i.e. ^ and **)? I thought the type system was supposed to eliminate this kind of duplication.
^
**
Prelude> 2^2 4 Prelude> 4**0.5 2.0