@@ -448,7 +448,7 @@ elab ist info emode opts fn tm
448448 -- the full set.
449449 uns <- get_usedns
450450 let as' = map (mkUniqueNames (uns ++ map snd ms) ms) as_pruned
451− (h : hs) <- get_holes
451+ ~(h : hs) <- get_holes
452452 ty <- goal
453453 case as' of
454454 [] -> do hds <- mapM showHd as
@@ -984,7 +984,7 @@ elab ist info emode opts fn tm
984984 (elab' ina fc Placeholder)
985985 (show f)
986986 elab' ina fc Placeholder
987− = do (h : hs) <- get_holes
987+ = do ~(h : hs) <- get_holes
988988 movelast h
989989 elab' ina fc (PMetavar nfc n) =
990990 do ptm <- get_term
@@ -1251,7 +1251,7 @@ elab ist info emode opts fn tm
12511251 elab' ina fc (PHidden t)
12521252 | reflection = elab' ina fc t
12531253 | otherwise
1254− = do (h : hs) <- get_holes
1254+ = do ~(h : hs) <- get_holes
12551255 -- Dotting a hole means that either the hole or any outer
12561256 -- hole (a hole outside any occurrence of it)
12571257 -- must be solvable by unification as well as being filled
@@ -1259,7 +1259,7 @@ elab ist info emode opts fn tm
12591259 -- Delay dotted things to the end, then when we elaborate them
12601260 -- we can check the result against what was inferred
12611261 movelast h
1262− (h' : hs) <- get_holes
1262+ ~(h' : hs) <- get_holes
12631263 -- If we're at the end anyway, do it now
12641264 if h == h' then elabHidden h
12651265 else delayElab 10 $ elabHidden h