- -- But both 'foo's get a LocalDef provenance, so we'd get a complaint unless
- -- we start with an emptyGlobalRdrEnv
-
- ; setGblEnv (gbl_env { tcg_rdr_env = tcg_rdr_env gbl_env1 `plusOccEnv` rdr_env',
+ -- If we don't shadow, we'll get an ambiguity complaint when we do
+ -- a lookupTopBndrRn (which uses lookupGreLocalRn) on the binder of the 'foo'
+ --
+ -- Furthermore, arguably if the splice does define foo, that should hide
+ -- any foo's further out
+ --
+ -- The shadowing is acheived by the call to hideSomeUnquals, which removes
+ -- the unqualified bindings of things defined by the bracket
+
+ ; setGblEnv (gbl_env { tcg_rdr_env = rdr_env',