Initialise TcM plugins in initTc
Ticket: #26395 (closed).
This MR ensures that we run typechecker plugins and defaulting plugins whenever we call initTc.
In particular, this ensures that the pattern-match checker, which calls initTcDsForSolver which calls initTc, runs with typechecker plugins
enabled. This matters for situations like:
merge :: Vec n a -> Vec n a -> Vec (2 * n) a
merge Nil Nil = Nil
merge (a <: as) (b <: bs) = a :< (b <: merge as bs)
in which we need the typechecker plugin to run in order to tell us that the Givens would be inconsistent in the additional equation
merge (_ <: _) Nil
and thus that the equation is not needed.
Edited by sheaf