def update_param_specs(param_specs, new_specs):
    """Produces all combinations of the given sets of specs."""
    if not param_specs:
        return new_specs
    combined_specs = []
    for new_spec in new_specs:
        for spec in param_specs:
            spec = spec.copy()
            spec.update(new_spec)
            combined_specs.append(spec)
    return combined_specs
