arseRange :: Parser [Int]
parseRange = do
  maybeStart <- optionMaybe parseNumber
  let start = case maybeStart of
        Nothing -> 1
        Just n -> n
  _ <- char '-'
  maybeEnd <- optionMaybe parseNumber
  case maybeEnd of
    Nothing -> return [start - 1 ..]
    Just end -> return [start - 1 .. end - 1] 

parseRange :: Parser [Int]
parseRange = do
  maybeStart <- optionMaybe parseNumber
  let start = case maybeStart of
        Nothing -> 1
        Just n -> n
  _ <- char '-'
  maybeEnd <- optionMaybe parseNumber
  case maybeEnd of
    Nothing -> return [start - 1 ..]
    Just end -> return [start - 1 .. end - 1] 
parseRange = do
  maybeStart <- optionMaybe parseNumber
  let start = case maybeStart of
        Nothing -> 1
        Just n -> n
  _ <- char '-'
  maybeEnd <- optionMaybe parseNumber
  case maybeEnd of
    Nothing -> return [start - 1 ..]
    Just end -> return [start - 1 .. end - 1] 