code: def process_tokens(
      tokens: Sequence[Token], *, end: str = "\n", sep: str = " "
  ) -> Tuple[str, str]:
      
      # Flatten the list of tokens in case some of them are of
      # class UnicodeSequence:
      flat_tokens = list()  # type: List[Token]
      for token in tokens:
          if isinstance(token, UnicodeSequence):
              flat_tokens.extend(token.tuple())
          else:
              flat_tokens.append(token)
  
      with_color = _process_tokens(flat_tokens, end=end, sep=sep, color=True)
      without_color = _process_tokens(flat_tokens, end=end, sep=sep, color=False)
      return (with_color, without_color)
docs: Returns two strings from a list of tokens.
      One containing ASCII escape codes, the other
      only the 'normal' characters