code: def parse(self, module):
          
          matches = self.RE_TYPE.finditer(module.contents)
          result = {}
  
          for match in matches:
              name = match.group("name")
              modifiers = match.group("modifiers")
              if modifiers is not None:
                  cleanmods = re.split("[\s,]+", modifiers.strip())
              else:
                  cleanmods = []
  
              contents = match.group("contents")
              result[name.lower()] = self._process_type(name, cleanmods, contents, module, match)
              if "public" in result[name.lower()].modifiers:
                  module.publics[name.lower()] = 1
  
          #Set the types we found in the module and then move the embedded
          #ones into their correct parent executables.
          module.types = result
          module.update_embedded("types")
docs: Extracts all the types from the specified module body.