term = do
  skipSC
  t <- nonAppT
  ts <- term'
  return $ foldl1 AppT (t:ts)
  where term' = (spaces >> liftM2 (:) nonAppT term') <++ return []
term = do
  skipSC
  t <- nonAppT
  ts <- term'
  return $ foldl1 AppT (t:ts)
  where term' = (spaces >> liftM2 (:) nonAppT term') <++ return []
term = do
  skipSC
  t <- nonAppT
  ts <- term'
  return $ foldl1 AppT (t:ts)
  where term' = (spaces >> liftM2 (:) nonAppT term') <++ return []