runPP :: Config -> PP a -> (Builder, a)
runPP cfg p =
  case unPP p cfg 0 emptyNS mempty of
    (_, b, x) -> (b, x)

-- | Pretty-print a program and return the final name for its entry point.
runPP :: Config -> PP a -> (Builder, a)
runPP cfg p =
  case unPP p cfg 0 emptyNS mempty of
    (_, b, x) -> (b, x)

-- | Pretty-print a program and return the final name for its entry point.
runPP cfg p =
  case unPP p cfg 0 emptyNS mempty of
    (_, b, x) -> (b, x)

-- | Pretty-print a program and return the final name for its entry point.