whole_func_string: function displayFormsForRelation (pred, allowCreation) {
            var sts = kb.statementsMatching(subject, pred)
            const outliner = panes.getOutliner(dom)
            if (sts.length) {
              for (var i = 0; i < sts.length; i++) {
                outliner.appendPropertyTRs(box, [ sts[i] ])
                var form = sts[i].object
                var cell = dom.createElement('td')
                box.lastChild.appendChild(cell)
                if (allowCreation) {
                  cell.appendChild(UI.widgets.newButton(
                    dom, kb, null, null, subject, form, store, function (ok, body) {
                      if (ok) {
                        // dom.outlineManager.GotoSubject(newThing@@, true, undefined, true, undefined);
                        // rerender(box);   // Deleted forms at the moment
                      } else complain('Sorry, failed to save your change:\n' + body)
                    }))
                }
                var formdef = kb.statementsMatching(form, ns.rdf('type'))
                if (!formdef.length) formdef = kb.statementsMatching(form)
                if (!formdef.length) complain('No data about form')
                else {
                  UI.widgets.editFormButton(dom, box,
                  form, formdef[0].why, complainIfBad)
                }
              }
              box.appendChild(dom.createElement('hr'))
            } else {
              mention('There are currently no known forms to make a ' +
                label + '.')
            }
          }
func_code_string: function displayFormsForRelation (pred, allowCreation) {
            var sts = kb.statementsMatching(subject, pred)
            const outliner = panes.getOutliner(dom)
            if (sts.length) {
              for (var i = 0; i < sts.length; i++) {
                outliner.appendPropertyTRs(box, [ sts[i] ])
                var form = sts[i].object
                var cell = dom.createElement('td')
                box.lastChild.appendChild(cell)
                if (allowCreation) {
                  cell.appendChild(UI.widgets.newButton(
                    dom, kb, null, null, subject, form, store, function (ok, body) {
                      if (ok) {
                        // dom.outlineManager.GotoSubject(newThing@@, true, undefined, true, undefined);
                        // rerender(box);   // Deleted forms at the moment
                      } else complain('Sorry, failed to save your change:\n' + body)
                    }))
                }
                var formdef = kb.statementsMatching(form, ns.rdf('type'))
                if (!formdef.length) formdef = kb.statementsMatching(form)
                if (!formdef.length) complain('No data about form')
                else {
                  UI.widgets.editFormButton(dom, box,
                  form, formdef[0].why, complainIfBad)
                }
              }
              box.appendChild(dom.createElement('hr'))
            } else {
              mention('There are currently no known forms to make a ' +
                label + '.')
            }
          }
func_documentation_string: For each creation form, allow one to create a new object with it, and also to edit the form.