prop_param_is_removed url
  | (url_params url) == [] =
    (url_params (removeParam "name" url)) == [] -- no params
  | otherwise =
    let params = (url_params url)
        count = (length params)
        (n, v) = head params
        url' = (removeParam n url)
    in (length $ url_params url') == count - 1 &&
       lookup n (url_params url') == Nothing
prop_param_is_removed url
  | (url_params url) == [] =
    (url_params (removeParam "name" url)) == [] -- no params
  | otherwise =
    let params = (url_params url)
        count = (length params)
        (n, v) = head params
        url' = (removeParam n url)
    in (length $ url_params url') == count - 1 &&
       lookup n (url_params url') == Nothing
prop_param_is_removed url
  | (url_params url) == [] =
    (url_params (removeParam "name" url)) == [] -- no params
  | otherwise =
    let params = (url_params url)
        count = (length params)
        (n, v) = head params
        url' = (removeParam n url)
    in (length $ url_params url') == count - 1 &&
       lookup n (url_params url') == Nothing