```python
def pick_fields(records: list[dict], field_names: list[str])          if not all_names:
        raise ValueError("list_names cannot be empty")
    
    for name in list_names:
        if not isinstance(name, str):
            raise ValueError(f"Invalid list_name: {name}")
        if "?" in name:
            stem = name[:-1]
            if not stem:
                raise ValueError(f"Empty stem in list_name: {name}")
            if any(n.startswith(stem) for n in list_names):
                raise ValueError(f"Duplicate stems in list_names:        elif any(n == name for n in list_names):
            raise ValueError(f"Duplicate list_name: {name}
    
    result_of_lists = []
    for record in records:
        if not isinstance(record, dict):
            raise ValueError(f"Invalid record: {record}
        list_values = []
        for name in list_names:
            if "?" in name:
                stem = name[:-1]:
                if stem in record:
                    list_lists.append(record[stem])
                else:
                    list_lists.append(None):
            else lists.append(record.get(name, ValueError(f"Missing required field: {name}"))
        list_of_lists.append(list_lists)
    
    return list_of_lists
```