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

def pick_fields(records: List[Dict[str, Any]], fields: List[str]) -> List[List[Any]]:
    if not isinstance(records, list) or not all(isinstance(record, dict) for record in records):
        raise ValueError("Records must be a list of dictionaries")
    
    if not isinstance(fields, list) or not all(isinstance(field, str) for field in fields):
        raise ValueError("Fields must be a list of strings")
    
    if not fields:
        raise ValueError("No fields specified")
    
    filtered_records = []
    for record in records:
        if not isinstance(record, dict):
            raise ValueError("Every record must be a dictionary")
        
        filtered_record = []
        for field in fields:
            if field.endswith("?"):
                stem = field[:-1]
                if stem in record:
                    filtered_record.append(record[stem])
                else:
                    filtered_record.append(None)
            else:
                if field in record:
                    filtered_record.append(record[field])
                else:
                    raise ValueError(f"Record missing required field: {field}")
        filtered_records.append(filtered_record)
    
    return filtered_records
```