def METHOD_NAME(
        value: Type, clocks: Mapping[Kind, Type]) -> bool:
    """
    Drives all undriven input values contained in @value for each of the (clock
    type, default driver) pairs in @clocks.
    """
    has_undriven = False
    for clock_type, clk in clocks.items():
        if clk is None:
            continue
        undrivens = get_undriven_clocks_in_value(value, clock_type)
        for undriven in undrivens:
            has_undriven = True
            _drive_value_with_clock(undriven, clk)
    return has_undriven