FlexibleContexts
↓たぶん間違ってる
こういう型注釈が書ける
hsintAdd :: Num Int => Int -> Int -> Int
intAdd = (+)
defaultでは Num a => a -> a -> a
としか書けない
「
Int -> Int -> Int
型である」かつ「その
Int
は
Num
型クラスのインスタンスでないといけない」」ということを表現している
#??defaultでIntはNumのインスタンスだが、Int, Numじゃなくて両方自作のものを考えたほうがわかりやすい

これを読んでひとまず↑こう理解したが、これで正しいのかわかっていない

参考
よくわからん