code: function groups (selection, transformer) {
    if (selection.has('group')) {
      const sortedEntity = selection.filter('group')
      return dom.create('div').class('qm-api-groups')
        .add(sortedEntity.selectAll('group').map(utils.organisedEntity).map((groupSelection) => {
          const nestedGroups = groupSelection.filter('group')
          return dom.create('div').class('qm-api-group')
            .add(dom.create('div').class('qm-api-group-header qm-header-font').text(groupSelection.ps()))
            .add(dom.create('div').class('qm-api-group-content')
              .add(description(groupSelection, transformer))
              .add(groupSelection
                .filter(entity => quantum.isEntity(entity) && entity.type !== 'description' && entity.type !== 'group')
                .transform(transformer))
              .add(groups(nestedGroups, transformer)))
        }))
    }
  }
docs: /* Creates a custom group of entries (rather than the natural grouping things fall into)