def METHOD_NAME(query: str, params: List) -> Dict:
    if not isinstance(query, str):
        raise ValueError(f'query must be str; got {type(query)}')
    for param in params:
        if param is not None and not isinstance(param, (int, float, str)):
            raise ValueError(f'SQL parameter must be one of int, float, str or None; got {type(param)}')
    return dict(q=query, p=None if len(params) == 0 else params)