```python
from typing import List, Dict, Any

def pick_fields(records: List[Dict[str, Any]], fields: List[str]) -> List[List[Any]]:
    if not records or not fields:
        raise ValueError("Input lists must not be empty")

    result = []
    for record in records:
        if not isinstance(record, dict):
            raise ValueError("Each record must be a mapping")

        for field in fields:
            if not isinstance(field, str):
                raise ValueError("Each field name must be a string")

            stem, marker = field.rsplit('?', 1)
            if not stem:
                raise ValueError("Field name must have a stem")

            if stem in record:
                value = record[stem]
            elif marker in record:
                value = record[marker]
            else:
                value = None

            result.append([value])

    return result
```