parameters: (tokens)
return_statement: return first, rest
docstring: List utility; splits a /list/ robustly into first & rest.
  
    Args:
        tokens: the list of tokens.
    Returns:
        Tuple of first token, and list of remaining.
docstring_summary: List utility; splits a /list/ robustly into first & rest.
docstring_tokens: List utility ; splits a / list / robustly into first & rest .
function: def FirstRest(tokens):
    """List utility; splits a /list/ robustly into first & rest.
  
    Args:
        tokens: the list of tokens.
    Returns:
        Tuple of first token, and list of remaining.
    """
    assert isinstance(tokens, list)
    if not tokens:
      first = None
      rest = []
    else:
      first = tokens[0]
      rest = tokens[1:]
    return first, rest
function_tokens: def FirstRest ( tokens ) : assert isinstance ( tokens , list ) if not tokens : first = None rest = [ ] else : first = tokens [ 0 ] rest = tokens [ 1 : ] return first , rest