@@ -373,7 +373,7 @@ elabPE info fc caller r =
373373 logLvl 3 $ "PE definition " ++ show newnm ++ ":\n" ++
374374 showSep "\n"
375375 (map (\ (lhs, rhs) ->
376− (show lhs ++ " = " ++
376+ (showTmImpls lhs ++ " = " ++
377377 showTmImpls rhs)) (pe_clauses specdecl))
378378
379379 logLvl 2 $ show n ++ " transformation rule: " ++
@@ -381,7 +381,8 @@ elabPE info fc caller r =
381381
382382 elabType info defaultSyntax emptyDocstring [] fc opts newnm NoFC specTy
383383 let def = map (\(lhs, rhs) ->
384− PClause fc newnm lhs [] rhs [])
384+ let lhs' = mapPT hiddenToPH $ stripUnmatchable ist lhs in
385+ PClause fc newnm lhs' [] rhs [])
385386 (pe_clauses specdecl)
386387 trans <- elabTransform info fc False rhs lhs
387388 elabClauses info fc (PEGenerated:opts) newnm def
@@ -393,6 +394,9 @@ elabPE info fc caller r =
393394 (\e -> do logLvl 3 $ "Couldn't specialise: " ++ (pshow ist e)
394395 return [])
395396
397+ hiddenToPH (PHidden _) = Placeholder
398+ hiddenToPH x = x
399+
396400 specName simpl (ImplicitS, tm)
397401 | (P Ref n _, _) <- unApply tm = Just (n, Just (if simpl then 1 else 0))
398402 specName simpl (ExplicitS, tm)