assert True _  = Right ()

parseDebitCsv :: Text -> Either Text ([TxnRaw], Int)
parseDebitCsv csv = do
    let debitCsvs = T.splitOn "\r\n\r\n" csv
    assert (length debitCsvs == 2) "Scraper.Bofa: length debitCsvs /= 2"
    let balanceCsv = debitCsvs !! 0
    let txnCsv = debitCsvs !! 1
    assert (length (T.lines txnCsv) > 1) "Scraper.Bofa: debitCsvText is empty"
    assert ("Beginning balance as of " `T.isInfixOf` ((T.lines txnCsv) !! 1))
        "Scraper.Bofa: First debit csv txn not \"Beginning balance as of...\""
    bal <- parseDebitBalance balanceCsv
    lTxnRaws <- goTxns parseDebitTxn $ T.unlines $ drop2nd $ T.lines txnCsv