Note [Desugar OpApp in the typechecker]
Operator sections are desugared in the renamer; see GHC.Rename.Expr Note [Handling overloaded and rebindable constructs]. But for reasons explained there, we rename OpApp to OpApp. Then, here in the typechecker, we desugar it to a use of ExpandedThingRn. That makes it possible to typecheck something like e1 `f` e2 where f :: forall a. t1 -> forall b. t2 -> t3
References 1
- Handling overloaded and rebindable constructs GHC.Rename.Expr
Referenced by 1
- GHC.Tc.Gen.Head call site