def METHOD_NAME(path, value, params):
    """Set a key/path in loaded params.
    Parameters
    ----------
    path : str
      The .-delimited path to the value to set. Currently supports dict keys
      but not numeric array indices.
    value : str
      The value to assign at the specified location. Supports several types:
        "true" "false" - assign boolean
        ,-delimited value, or
        existing value is list - assign list
        "/dev/fd/..." - assign string by reading path as file
        anything else - assign string
    params : dict
      Params as read using read_params().
    """
    path = path.split(".")
    for p in path[:-1]:
        params = params[p] # stick the 'params' handle on the innermost dict/list
    if value.startswith("/dev/fd/"): # explicitly handle process substitutions
        with open(value) as f:
            value = f.read().strip()
    if value in {"true","false"}:
        value = value == "true"
    elif isinstance(params[path[-1]],list) or value.find(",")>0:
        value = value.split(",")
    params[path[-1]] = value