```python
def config_value(layers: list, name: str) -> str | None:
    """
    Returns the effective value of the requested name from the configuration layers.
    """
    if not isinstance(layers, list) or not all(isinstance(layer, str) for layer in layers):
        raise ValueError("Layers must be a list of strings.")
    
    if not isinstance(name, str) or not name.strip():
        raise ValueError("Name must be a non-empty string.")
    
    def parse_layer(layer: str) -> dict:
        parsed = {}
        for line in layer.splitlines():
            line = line.strip()
            if not line or line.startswith('#'):
                continue
            if line.startswith('!'):
                key = line[1:].strip()
                if key in parsed:
                    del parsed[key]
                continue
            if '=' not in line:
                raise ValueError(f"Invalid line: {line}")
            key, value = line.split('=', 1)
            parsed[key.strip()] = value.strip()
        return parsed
    
    effective_values = {}
    for layer in layers:
        parsed_layer = parse_layer(layer)
        for key, value in parsed_layer.items():
            if key in effective_values:
                continue
            effective_values[key] = value
    
    return effective_values.get(name)
```