letRecT :: ReadP Term
letRecT = do
  between (char lbracket)
          (char rbracket)

          (do skipSC
              
              ds <- definitions
  
              skipSC
              char lambdaSep
              skipSC
  
              t <- term
              
              skipSC
              return (LetRecT ds t))
letRecT :: ReadP Term
letRecT = do
  between (char lbracket)
          (char rbracket)

          (do skipSC
              
              ds <- definitions
  
              skipSC
              char lambdaSep
              skipSC
  
              t <- term
              
              skipSC
              return (LetRecT ds t))
letRecT = do
  between (char lbracket)
          (char rbracket)

          (do skipSC
              
              ds <- definitions
  
              skipSC
              char lambdaSep
              skipSC
  
              t <- term
              
              skipSC
              return (LetRecT ds t))