This program fails to parse: {-# LANGUAGE GADTs #-} one :: (~) a Int => a one = 1 The culprit is using `(~)`. A failing test for this case is available at https://github.com/yairchu/haskell-src-exts/commit/19705caac4be5b0fbf95e354f3f56e123e39b8c2