p_value :: CharParser () JValue
p_value = value <* spaces
    where value =     JString <$> p_string
                  <|> JNumber <$> p_number
                  <|> JObject <$> p_object
                  <|> JArray <$> p_array
                  <|> JBool <$> p_bool
                  <|> JNull <$ string "null"
                  <?> "JSON value"
p_value :: CharParser () JValue
p_value = value <* spaces
    where value =     JString <$> p_string
                  <|> JNumber <$> p_number
                  <|> JObject <$> p_object
                  <|> JArray <$> p_array
                  <|> JBool <$> p_bool
                  <|> JNull <$ string "null"
                  <?> "JSON value"
p_value = value <* spaces
    where value =     JString <$> p_string
                  <|> JNumber <$> p_number
                  <|> JObject <$> p_object
                  <|> JArray <$> p_array
                  <|> JBool <$> p_bool
                  <|> JNull <$ string "null"
                  <?> "JSON value"