parseL1NormInfo :: Text -> L1NormInfo
parseL1NormInfo txt =
  case (double . TL.dropWhile (not . isDigit) $ txt) of
    Left msg1 -> error msg1
    Right (time, txt1) ->
      case (decimal . TL.dropWhile (not . isDigit) $ txt1) of
        Left msg2 -> error msg2
        Right (batchNum, txt2) ->
          case (decimal . TL.dropWhile (not . isDigit) $ txt2) of
            Left msg3 -> error msg3
            Right (numNeurons, txt3) ->
              case (double .
                    TL.dropWhile (not . isDigit) .
                    TL.drop 1 . TL.dropWhile (not . isDigit) $
                    txt3) of
                Left msg4 -> error msg4
                Right (l1, txt4) ->
                  L1NormInfo (round time) batchNum numNeurons l1
parseL1NormInfo :: Text -> L1NormInfo
parseL1NormInfo txt =
  case (double . TL.dropWhile (not . isDigit) $ txt) of
    Left msg1 -> error msg1
    Right (time, txt1) ->
      case (decimal . TL.dropWhile (not . isDigit) $ txt1) of
        Left msg2 -> error msg2
        Right (batchNum, txt2) ->
          case (decimal . TL.dropWhile (not . isDigit) $ txt2) of
            Left msg3 -> error msg3
            Right (numNeurons, txt3) ->
              case (double .
                    TL.dropWhile (not . isDigit) .
                    TL.drop 1 . TL.dropWhile (not . isDigit) $
                    txt3) of
                Left msg4 -> error msg4
                Right (l1, txt4) ->
                  L1NormInfo (round time) batchNum numNeurons l1
parseL1NormInfo txt =
  case (double . TL.dropWhile (not . isDigit) $ txt) of
    Left msg1 -> error msg1
    Right (time, txt1) ->
      case (decimal . TL.dropWhile (not . isDigit) $ txt1) of
        Left msg2 -> error msg2
        Right (batchNum, txt2) ->
          case (decimal . TL.dropWhile (not . isDigit) $ txt2) of
            Left msg3 -> error msg3
            Right (numNeurons, txt3) ->
              case (double .
                    TL.dropWhile (not . isDigit) .
                    TL.drop 1 . TL.dropWhile (not . isDigit) $
                    txt3) of
                Left msg4 -> error msg4
                Right (l1, txt4) ->
                  L1NormInfo (round time) batchNum numNeurons l1