idecl :: HParser Declaration
idecl = addRange (
    try (do
          (n, _) <- try (withRange var)
          b <- normalRhs
          return $ \r -> Declaration_FunctionBindings r
             [FunctionBinding_FunctionBinding r (LeftHandSide_Function r n []) b])
    <|>
    do
       l <- funlhs
       b <- normalRhs
       return $ \r -> Declaration_FunctionBindings r
           [FunctionBinding_FunctionBinding r l b]
       
      ) <?> Texts.parserDeclaration
idecl :: HParser Declaration
idecl = addRange (
    try (do
          (n, _) <- try (withRange var)
          b <- normalRhs
          return $ \r -> Declaration_FunctionBindings r
             [FunctionBinding_FunctionBinding r (LeftHandSide_Function r n []) b])
    <|>
    do
       l <- funlhs
       b <- normalRhs
       return $ \r -> Declaration_FunctionBindings r
           [FunctionBinding_FunctionBinding r l b]
       
      ) <?> Texts.parserDeclaration
idecl = addRange (
    try (do
          (n, _) <- try (withRange var)
          b <- normalRhs
          return $ \r -> Declaration_FunctionBindings r
             [FunctionBinding_FunctionBinding r (LeftHandSide_Function r n []) b])
    <|>
    do
       l <- funlhs
       b <- normalRhs
       return $ \r -> Declaration_FunctionBindings r
           [FunctionBinding_FunctionBinding r l b]
       
      ) <?> Texts.parserDeclaration