Внимательное прочтение отчёта Haskell 98 показывает, что объявления fixity (infix, infixl и infixr) разрешено помещать в локальные связывания, например введённые с помощью let и where. Однако в отчёте Haskell семантика таких связываний описана недостаточно точно.
В GHC объявление fixity может сопровождать локальное связывание:
let f = ...
infixr 3 `f`
in
...
и это объявление fixity применяется везде, где связывание находится в области видимости. Например, в let оно применяется в правых частях других связываний let и в теле letC. Или в рекурсивных выражениях do (Рекурсивная do-нотация) локальные объявления fixity оператора let распространяются на другие операторы в группе так же, как и связанное имя.
Кроме того, локальное объявление fixity обязательно должно сопровождать локальное связывание этого имени: нельзя изменить fixity имени, связанного в другом месте, например так:
let infixr 9 $ in ...
Поскольку локальные объявления fixity технически входят в Haskell 98, для их использования не требуется включать расширение.