>>449
https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base-4.14.0.0/src/Data-Complex.html
でData.ComplexのソースコードでNumクラスのインスタンス定義を見たところ
メソッドabsとsignumの実装に
magnitude :: (RealFloat a) => Complex a -> a
を使ってるからみたいだね

本当に足したり引いたりしたいだけならNum制約は強すぎる
数のクラス体系の問題点について詳しくは
https://blog.miz-ar.info/2016/06/haskell-num-class/