-- reduce an application e es (head and args already individually reduced)
redApp env e es
  | exception                   = return (head es')
  where es'                     = filter isRaise (e:es)
        exception               = not (isPMC e) && not (null es')
redApp env e es
  | exception                   = return (head es')
  where es'                     = filter isRaise (e:es)
        exception               = not (isPMC e) && not (null es')
redApp env e es
  | exception                   = return (head es')
  where es'                     = filter isRaise (e:es)
        exception               = not (isPMC e) && not (null es')