@@ -102,8 +102,12 @@ elab ist info pattern tcgen fn tm
102102 elab' ina (PFalse fc) = elab' ina (PRef fc falseTy)
103103 elab' ina (PResolveTC (FC "HACK" _)) -- for chasing parent classes
104104 = resolveTC 5 fn ist
105− elab' ina (PResolveTC fc) = do c <- unique_hole (MN 0 "c")
106− instanceArg c
105+ elab' ina (PResolveTC fc)
106+ | pattern = do c <- unique_hole (MN 0 "c")
107+ instanceArg c
108+ | otherwise = try (resolveTC 2 fn ist)
109+ (do c <- unique_hole (MN 0 "c")
110+ instanceArg c)
107111 elab' ina (PRefl fc) = elab' ina (PApp fc (PRef fc eqCon) [pimp (MN 0 "a") Placeholder,
108112 pimp (MN 0 "x") Placeholder])
109113 elab' ina (PEq fc l r) = elab' ina (PApp fc (PRef fc eqTy) [pimp (MN 0 "a") Placeholder,