docs: private String genInnerTypeDef(StructureDefinition sd, ElementDefinition ed) {
      String path = ed.hasBase() ? ed.getBase().getPath() : ed.getPath();;
      ST element_reference = tmplt(SHAPE_DEFINITION_TEMPLATE);
      element_reference.add("resourceDecl", "");  // Not a resource
      element_reference.add("id", path);
      String comment = ed.getShort();
      element_reference.add("comment", comment == null? " " : "# " + comment);
  
      List<String> elements = new ArrayList<String>();
      for (ElementDefinition child: ProfileUtilities.getChildList(sd, path, null))
        elements.add(genElementDefinition(sd, child));
  
      element_reference.add("elements", StringUtils.join(elements, "\n"));
      return element_reference.render();
    }