code: def _format_type(lines, element, spacer=""):
      
      rlines = []
      rlines.append(element.signature)
      _format_summary(rlines, element)
  
      rlines.append("")
      _format_generic(rlines, element, ["summary"])
  
      if len(element.executables) > 0:
          rlines.append("\nEMBEDDED PROCEDURES")
          for key, value in list(element.executables.items()):
              rlines.append("  {}".format(value.__str__()))
              target = value.target
              if target is not None:
                  _format_executable(rlines, target, "  ")
  
      if len(element.members) > 0:
          rlines.append("\nEMBEDDED MEMBERS")
          for key, value in list(element.members.items()):
              _format_value_element(rlines, value, "  ")
  
      lines.extend([spacer + l for l in rlines])
docs: Formats a derived type for full documentation output.