ppTermF :: TermPrinter t
        -> TermPrinter (TermF t)
ppTermF pp lcls p tf = runIdentity (ppTermF' pp' lcls p tf)
  where pp' l' p' t' = pure (pp l' p' t')
ppTermF :: TermPrinter t
        -> TermPrinter (TermF t)
ppTermF pp lcls p tf = runIdentity (ppTermF' pp' lcls p tf)
  where pp' l' p' t' = pure (pp l' p' t')
ppTermF pp lcls p tf = runIdentity (ppTermF' pp' lcls p tf)
  where pp' l' p' t' = pure (pp l' p' t')