'Returns the first child token.
If *skip_ws* is ``True`` (the default), whitespace
tokens are ignored.
if *skip_cm* is ``True`` (default: ``False``), comments are
ignored too.'

def token_first(self, skip_ws=True, skip_cm=False):

    funcs = (lambda tk: (not ((skip_ws and tk.is_whitespace()) or (skip_cm and imt(tk, t=T.Comment, i=Comment)))))
    return self._token_matching(funcs)[1]
