code: def parse(text, elements, fallback):
      
      # this is a raw list of elements that may contain overlaps.
      tokens = []
      for etype in elements:
          for match in etype.find(text):
              tokens.append(Token(etype, match, text, fallback))
      tokens.sort()
      tokens = _resolve_overlap(tokens)
      return make_elements(tokens, text, fallback=fallback)
docs: Parse given text and produce a list of inline elements.
  
      :param text: the text to be parsed.
      :param elements: the element types to be included in parsing
      :param fallback: fallback class when no other element type is matched.