term = parens pExpression
   <|> try (withAnnotation $ Literal <$> pLiteral)
   <|> try pCall
   <|> try pArrayItem
   <|> try pRecordField
   <|> pVariable
term = parens pExpression
   <|> try (withAnnotation $ Literal <$> pLiteral)
   <|> try pCall
   <|> try pArrayItem
   <|> try pRecordField
   <|> pVariable
term = parens pExpression
   <|> try (withAnnotation $ Literal <$> pLiteral)
   <|> try pCall
   <|> try pArrayItem
   <|> try pRecordField
   <|> pVariable