ipList :: Parser Constant
ipList = do
    ips <- commaSep1 (try(lexeme ip4range) <|> lexeme ip6range)
    n <- index ips
    return (DT_IP, CV_Index n)
  where
    index ips = do
        st <- getState
        let n = ipcnt st
        setState st {
            iplol = ips : iplol st
          , ipcnt = n + 1
          }
        return n

----------------------------------------------------------------
ipList :: Parser Constant
ipList = do
    ips <- commaSep1 (try(lexeme ip4range) <|> lexeme ip6range)
    n <- index ips
    return (DT_IP, CV_Index n)
  where
    index ips = do
        st <- getState
        let n = ipcnt st
        setState st {
            iplol = ips : iplol st
          , ipcnt = n + 1
          }
        return n

----------------------------------------------------------------
ipList = do
    ips <- commaSep1 (try(lexeme ip4range) <|> lexeme ip6range)
    n <- index ips
    return (DT_IP, CV_Index n)
  where
    index ips = do
        st <- getState
        let n = ipcnt st
        setState st {
            iplol = ips : iplol st
          , ipcnt = n + 1
          }
        return n

----------------------------------------------------------------