{-# LANGUAGE RankNTypes, ScopedTypeVariables #-}
プラグマを追加して
quantize :: forall a. (Integral a, Bounded a) => Double -> a
とシグニチャを変更することでlet内で使ってるaとquantizeの型シグニチャ内でのaを同じものとして指定する