You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2024/02/21 21:47:49 UTC

(causeway) branch CAUSEWAY-3676 updated: CAUSEWAY-3676: introduces SchemaType and updates type names to use

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/CAUSEWAY-3676 by this push:
     new e4544810c6 CAUSEWAY-3676: introduces SchemaType and updates type names to use
e4544810c6 is described below

commit e4544810c696cd68b06c5b9acfc3d750c7c033cb
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 21 21:47:17 2024 +0000

    CAUSEWAY-3676: introduces SchemaType and updates type names to use
---
 .../graphql/model/src/main/java/module-info.java   |    3 +-
 .../viewer/graphql/model/context/Context.java      |   10 +-
 .../graphql/model/domain/GqlvAbstractCustom.java   |    1 -
 .../graphql/model/domain/GqlvScenarioStep.java     |    6 +-
 .../viewer/graphql/model/domain/SchemaType.java    |    6 +
 .../viewer/graphql/model/domain/TypeNames.java     |   81 +-
 .../rich/{ => mutation}/GqlvMutationForAction.java |    8 +-
 .../{ => mutation}/GqlvMutationForProperty.java    |    6 +-
 .../model/domain/rich/{ => query}/GqlvAction.java  |   10 +-
 .../domain/rich/{ => query}/GqlvActionInvoke.java  |   16 +-
 .../rich/{ => query}/GqlvActionInvokeArgs.java     |   15 +-
 .../rich/{ => query}/GqlvActionInvokeArgsArg.java  |    9 +-
 .../rich/{ => query}/GqlvActionInvokeResult.java   |    9 +-
 .../domain/rich/{ => query}/GqlvActionParams.java  |   14 +-
 .../rich/{ => query}/GqlvActionParamsParam.java    |   13 +-
 .../GqlvActionParamsParamAutoComplete.java         |    6 +-
 .../{ => query}/GqlvActionParamsParamChoices.java  |    6 +-
 .../{ => query}/GqlvActionParamsParamDatatype.java |   10 +-
 .../{ => query}/GqlvActionParamsParamDefault.java  |    9 +-
 .../{ => query}/GqlvActionParamsParamDisabled.java |    2 +-
 .../{ => query}/GqlvActionParamsParamHidden.java   |    7 +-
 .../{ => query}/GqlvActionParamsParamValidate.java |    7 +-
 .../rich/{ => query}/GqlvActionValidity.java       |    6 +-
 .../domain/rich/{ => query}/GqlvAssociation.java   |    2 +-
 .../rich/{ => query}/GqlvAssociationDatatype.java  |   10 +-
 .../rich/{ => query}/GqlvAssociationGet.java       |    6 +-
 .../domain/rich/{ => query}/GqlvCollection.java    |   10 +-
 .../rich/{ => query}/GqlvCollectionDatatype.java   |    2 +-
 .../domain/rich/{ => query}/GqlvCollectionGet.java |    2 +-
 .../domain/rich/{ => query}/GqlvDomainObject.java  |   19 +-
 .../domain/rich/{ => query}/GqlvDomainService.java |   16 +-
 .../model/domain/rich/{ => query}/GqlvMember.java  |    6 +-
 .../rich/{ => query}/GqlvMemberDisabled.java       |    6 +-
 .../domain/rich/{ => query}/GqlvMemberHidden.java  |    6 +-
 .../model/domain/rich/{ => query}/GqlvMeta.java    |    9 +-
 .../domain/rich/{ => query}/GqlvMetaCssClass.java  |    2 +-
 .../domain/rich/{ => query}/GqlvMetaGrid.java      |    2 +-
 .../domain/rich/{ => query}/GqlvMetaIcon.java      |    2 +-
 .../model/domain/rich/{ => query}/GqlvMetaId.java  |    2 +-
 .../domain/rich/{ => query}/GqlvMetaLayout.java    |    2 +-
 .../rich/{ => query}/GqlvMetaLogicalTypeName.java  |    2 +-
 .../domain/rich/{ => query}/GqlvMetaSaveAs.java    |    2 +-
 .../domain/rich/{ => query}/GqlvMetaTitle.java     |    2 +-
 .../domain/rich/{ => query}/GqlvMetaVersion.java   |    2 +-
 .../domain/rich/{ => query}/GqlvProperty.java      |   10 +-
 .../rich/{ => query}/GqlvPropertyAutoComplete.java |    6 +-
 .../rich/{ => query}/GqlvPropertyChoices.java      |    6 +-
 .../rich/{ => query}/GqlvPropertyDatatype.java     |    2 +-
 .../domain/rich/{ => query}/GqlvPropertyGet.java   |    7 +-
 .../rich/{ => query}/GqlvPropertyGetBlob.java      |   14 +-
 .../{ => query}/GqlvPropertyGetBlobAbstract.java   |    7 +-
 .../rich/{ => query}/GqlvPropertyGetBlobBytes.java |    2 +-
 .../{ => query}/GqlvPropertyGetBlobMimeType.java   |    2 +-
 .../rich/{ => query}/GqlvPropertyGetBlobName.java  |    2 +-
 .../rich/{ => query}/GqlvPropertyGetClob.java      |   14 +-
 .../{ => query}/GqlvPropertyGetClobAbstract.java   |    7 +-
 .../rich/{ => query}/GqlvPropertyGetClobChars.java |    2 +-
 .../{ => query}/GqlvPropertyGetClobMimeType.java   |    2 +-
 .../rich/{ => query}/GqlvPropertyGetClobName.java  |    2 +-
 .../domain/rich/{ => query}/GqlvPropertySet.java   |    6 +-
 .../rich/{ => query}/GqlvPropertyValidate.java     |    6 +-
 .../rich/{ => query}/GqlvTopLevelRichSchema.java   |    2 +-
 .../SchemaTypeProvider.java}                       |   16 +-
 .../model/registry/GraphQLTypeRegistry.java        |    4 +-
 ...Rich.java => GqlvTopLevelForSimpleAndRich.java} |    9 +-
 .../model/toplevel/GqlvTopLevelMutation.java       |    4 +-
 .../graphql/model/types/TypeMapperDefault.java     |   12 +-
 ...tegTest.each.find_all_departments.approved.json |   12 +-
 ..._department_and_add_staff_members.approved.json |    2 +-
 ...ment_and_change_head_autocomplete.approved.json |    2 +-
 ...epartment_and_change_name_invalid.approved.json |    2 +-
 ...ind_department_and_list_its_staff.approved.json |    2 +-
 viewers/graphql/test/src/test/resources/schema.gql | 2572 ++++++++++----------
 .../integration/GraphQlSourceForCauseway.java      |   13 +-
 74 files changed, 1653 insertions(+), 1468 deletions(-)

diff --git a/viewers/graphql/model/src/main/java/module-info.java b/viewers/graphql/model/src/main/java/module-info.java
index 5ee6bb25a1..a4773bc379 100644
--- a/viewers/graphql/model/src/main/java/module-info.java
+++ b/viewers/graphql/model/src/main/java/module-info.java
@@ -8,7 +8,8 @@ module org.apache.causeway.incubator.viewer.graphql.model {
     exports org.apache.causeway.viewer.graphql.model.context;
     exports org.apache.causeway.viewer.graphql.model.mmproviders;
     exports org.apache.causeway.viewer.graphql.model.fetcher;
-    exports org.apache.causeway.viewer.graphql.model.domain.rich;
+    exports org.apache.causeway.viewer.graphql.model.domain.rich.query;
+    exports org.apache.causeway.viewer.graphql.model.domain.rich.mutation;
 
     requires org.apache.causeway.core.config;
     requires org.apache.causeway.incubator.viewer.graphql.applib;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java
index 2ad778e328..95f6c29f0e 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java
@@ -38,8 +38,6 @@ import org.apache.causeway.core.metamodel.objectmanager.ObjectManager;
 import org.apache.causeway.core.metamodel.spec.ActionScope;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvDomainObject;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvDomainService;
 import org.apache.causeway.viewer.graphql.model.registry.GraphQLTypeRegistry;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
@@ -59,8 +57,12 @@ public class Context {
     public final ObjectManager objectManager;
     public final GraphQLTypeRegistry graphQLTypeRegistry;
 
-    public final Map<ObjectSpecification, GqlvDomainService> domainServiceBySpec = new LinkedHashMap<>();
-    public final Map<ObjectSpecification, GqlvDomainObject> domainObjectBySpec = new LinkedHashMap<>();
+
+    public final Map<ObjectSpecification, org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvDomainService> richDomainServiceBySpec = new LinkedHashMap<>();
+    public final Map<ObjectSpecification, org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvDomainObject> richDomainObjectBySpec = new LinkedHashMap<>();
+
+//    public final Map<ObjectSpecification, org.apache.causeway.viewer.graphql.model.domain.simple.query.GqlvDomainService> simpleDomainServiceBySpec = new LinkedHashMap<>();
+//    public final Map<ObjectSpecification, org.apache.causeway.viewer.graphql.model.domain.simple.query.GqlvDomainObject> simpleDomainObjectBySpec = new LinkedHashMap<>();
 
     public ImmutableEnumSet<ActionScope> getActionScope() {
         return causewaySystemEnvironment.getDeploymentType().isProduction()
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java
index 8c8375c735..c2624ba185 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java
@@ -31,7 +31,6 @@ import org.springframework.lang.Nullable;
 
 import org.apache.causeway.viewer.graphql.model.context.Context;
 
-import lombok.AccessLevel;
 import lombok.Getter;
 
 public abstract class GqlvAbstractCustom extends GqlvAbstract implements Parent {
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioStep.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioStep.java
index e5fa6b64d9..29bd1230d4 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioStep.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioStep.java
@@ -8,10 +8,8 @@ import graphql.schema.DataFetchingEnvironment;
 
 import org.apache.causeway.applib.services.metamodel.BeanSort;
 import org.apache.causeway.viewer.graphql.model.context.Context;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvDomainObject;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvDomainService;
-
-import lombok.val;
+import org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvDomainObject;
+import org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvDomainService;
 
 public class GqlvScenarioStep
         extends GqlvAbstractCustom
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/SchemaType.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/SchemaType.java
new file mode 100644
index 0000000000..ae340ea814
--- /dev/null
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/SchemaType.java
@@ -0,0 +1,6 @@
+package org.apache.causeway.viewer.graphql.model.domain;
+
+public enum SchemaType {
+    SIMPLE,
+    RICH,
+}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java
index 3b97b2af27..fca3ce30be 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java
@@ -29,54 +29,89 @@ import lombok.experimental.UtilityClass;
 @UtilityClass
 public final class TypeNames {
 
-    public static String objectTypeNameFor(ObjectSpecification objectSpecification) {
+    public static String objectTypeFieldNameFor(
+            final ObjectSpecification objectSpecification) {
         return sanitized(objectSpecification.getLogicalTypeName());
     }
 
-    public static String metaTypeNameFor(ObjectSpecification objectSpecification) {
-        return objectTypeNameFor(objectSpecification) + "__gqlv_meta";
+    public static String objectTypeNameFor(
+            final ObjectSpecification objectSpecification,
+            final SchemaType schemaType) {
+        return schemaType.name().toLowerCase() + "__" + sanitized(objectSpecification.getLogicalTypeName());
     }
 
-    public static String inputTypeNameFor(ObjectSpecification objectSpecification) {
-        return objectTypeNameFor(objectSpecification) + "__gqlv_input";
+    public static String metaTypeNameFor(
+            final ObjectSpecification objectSpecification,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(objectSpecification, schemaType) + "__gqlv_meta";
     }
 
-    public static String enumTypeNameFor(ObjectSpecification objectSpec) {
-        return objectTypeNameFor(objectSpec) + "__gqlv_enum";
+    public static String inputTypeNameFor(
+            final ObjectSpecification objectSpecification,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(objectSpecification, schemaType) + "__gqlv_input";
     }
 
-    public static String actionTypeNameFor(ObjectSpecification owningType, ObjectAction objectAction) {
-        return objectTypeNameFor(owningType) + "__" + objectAction.getId() + "__gqlv_action";
+    public static String enumTypeNameFor(
+            final ObjectSpecification objectSpec,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(objectSpec, schemaType) + "__gqlv_enum";
+    }
+
+    public static String actionTypeNameFor(
+            final ObjectSpecification owningType,
+            final ObjectAction objectAction,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + objectAction.getId() + "__gqlv_action";
     }
 
     public static String actionInvokeTypeNameFor(
             final ObjectSpecification owningType,
-            final ObjectAction objectAction) {
-        return objectTypeNameFor(owningType) + "__" + objectAction.getId() + "__gqlv_action_invoke";
+            final ObjectAction objectAction,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + objectAction.getId() + "__gqlv_action_invoke";
     }
 
-    public static String actionParamsTypeNameFor(ObjectSpecification owningType, ObjectAction objectAction) {
-        return objectTypeNameFor(owningType) + "__" + objectAction.getId() + "__gqlv_action_params";
+    public static String actionParamsTypeNameFor(
+            final ObjectSpecification owningType,
+            final ObjectAction objectAction,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + objectAction.getId() + "__gqlv_action_params";
     }
 
-    public static String actionArgsTypeNameFor(ObjectSpecification owningType, ObjectAction objectAction) {
-        return objectTypeNameFor(owningType) + "__" + objectAction.getId() + "__gqlv_action_args";
+    public static String actionArgsTypeNameFor(
+            final ObjectSpecification owningType,
+            final ObjectAction objectAction,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + objectAction.getId() + "__gqlv_action_args";
     }
 
-    public static String actionParamTypeNameFor(ObjectSpecification owningType, ObjectActionParameter objectActionParameter) {
-        return objectTypeNameFor(owningType) + "__" + objectActionParameter.getAction().getId() + "__" + objectActionParameter.getId() + "__gqlv_action_parameter";
+    public static String actionParamTypeNameFor(
+            final ObjectSpecification owningType,
+            final ObjectActionParameter objectActionParameter,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + objectActionParameter.getAction().getId() + "__" + objectActionParameter.getId() + "__gqlv_action_parameter";
     }
 
-    public static String propertyTypeNameFor(ObjectSpecification owningType, OneToOneAssociation oneToOneAssociation) {
-        return objectTypeNameFor(owningType) + "__" + oneToOneAssociation.getId() + "__gqlv_property";
+    public static String propertyTypeNameFor(
+            final ObjectSpecification owningType,
+            final OneToOneAssociation oneToOneAssociation,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + oneToOneAssociation.getId() + "__gqlv_property";
     }
 
-    public static String propertyBlobTypeNameFor(ObjectSpecification owningType, OneToOneAssociation oneToOneAssociation) {
-        return objectTypeNameFor(owningType) + "__" + oneToOneAssociation.getId() + "__gqlv_property_blob";
+    public static String propertyBlobTypeNameFor(
+            final ObjectSpecification owningType,
+            final OneToOneAssociation oneToOneAssociation,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + oneToOneAssociation.getId() + "__gqlv_property_blob";
     }
 
-    public static String collectionTypeNameFor(ObjectSpecification owningType, OneToManyAssociation objectMember) {
-        return objectTypeNameFor(owningType) + "__" + objectMember.getId() + "__gqlv_collection";
+    public static String collectionTypeNameFor(
+            final ObjectSpecification owningType,
+            final OneToManyAssociation objectMember,
+            final SchemaType schemaType) {
+        return objectTypeNameFor(owningType, schemaType) + "__" + objectMember.getId() + "__gqlv_collection";
     }
 
     private static String sanitized(final String name) {
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMutationForAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForAction.java
similarity index 96%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMutationForAction.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForAction.java
index e2381c37ca..dcb0862f44 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMutationForAction.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForAction.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.mutation;
 
 import java.util.ArrayList;
 import java.util.Map;
@@ -33,8 +33,12 @@ import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 
+import org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvAction;
+import org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvMetaSaveAs;
+
 import org.springframework.lang.Nullable;
 
 import org.apache.causeway.applib.annotation.Where;
@@ -89,7 +93,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
     private static String fieldName(
             final ObjectSpecification objectSpecification,
             final ObjectAction objectAction) {
-        return TypeNames.objectTypeNameFor(objectSpecification) + "__" + objectAction.getId();
+        return TypeNames.objectTypeFieldNameFor(objectSpecification) + "__" + objectAction.getId();
     }
 
     @Nullable
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMutationForProperty.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForProperty.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMutationForProperty.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForProperty.java
index 7f4571df9a..641a74aaf7 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMutationForProperty.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForProperty.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.mutation;
 
 import java.util.Map;
 import java.util.Optional;
@@ -37,7 +37,9 @@ import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
+import org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvMetaSaveAs;
 import org.apache.causeway.viewer.graphql.model.exceptions.DisabledException;
 import org.apache.causeway.viewer.graphql.model.exceptions.HiddenException;
 import org.apache.causeway.viewer.graphql.model.exceptions.InvalidException;
@@ -78,7 +80,7 @@ public class GqlvMutationForProperty extends GqlvAbstract {
     private static String fieldName(
             final ObjectSpecification objectSpecification,
             final OneToOneAssociation oneToOneAssociation) {
-        return TypeNames.objectTypeNameFor(objectSpecification) + "__" + oneToOneAssociation.getId();
+        return TypeNames.objectTypeFieldNameFor(objectSpecification) + "__" + oneToOneAssociation.getId();
     }
 
     @Override
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
similarity index 97%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAction.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
index c07cd39779..c9bf58bee3 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAction.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.List;
 import java.util.Map;
@@ -38,6 +38,7 @@ import org.apache.causeway.core.metamodel.spec.feature.OneToOneActionParameter;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.Parent;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
@@ -71,7 +72,7 @@ public class GqlvAction
             final Holder holder,
             final ObjectAction objectAction,
             final Context context) {
-        super(holder, objectAction, TypeNames.actionTypeNameFor(holder.getObjectSpecification(), objectAction), context);
+        super(holder, objectAction, TypeNames.actionTypeNameFor(holder.getObjectSpecification(), objectAction, holder.getSchemaType()), context);
 
         if(isBuilt()) {
             this.hidden = null;
@@ -319,4 +320,9 @@ public class GqlvAction
         }
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvoke.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java
similarity index 92%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvoke.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java
index a072931edf..945beb038e 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvoke.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLFieldDefinition;
@@ -31,10 +31,12 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.val;
@@ -53,7 +55,7 @@ public class GqlvActionInvoke
     public GqlvActionInvoke(
             final Holder holder,
             final Context context) {
-        super(TypeNames.actionInvokeTypeNameFor(holder.getObjectSpecification(), holder.getObjectAction()), context);
+        super(TypeNames.actionInvokeTypeNameFor(holder.getObjectSpecification(), holder.getObjectAction(), holder.getSchemaType()), context);
 
         this.holder = holder;
 
@@ -141,7 +143,8 @@ public class GqlvActionInvoke
 
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectActionProvider {
+                    ObjectActionProvider,
+                    SchemaTypeProvider {
 
         void addGqlArguments(
                 final ObjectAction objectAction,
@@ -153,5 +156,12 @@ public class GqlvActionInvoke
                 Environment dataFetchingEnvironment,
                 ObjectAction objectAction,
                 BookmarkService bookmarkService);
+
     }
+
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeArgs.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java
similarity index 89%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeArgs.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java
index a105db7ac8..a940663212 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeArgs.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -32,10 +32,12 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.Getter;
 import lombok.val;
@@ -53,7 +55,7 @@ public class GqlvActionInvokeArgs
     public GqlvActionInvokeArgs(
             final Holder holder,
             final Context context) {
-        super(TypeNames.actionArgsTypeNameFor(holder.getObjectSpecification(), holder.getObjectAction()), context);
+        super(TypeNames.actionArgsTypeNameFor(holder.getObjectSpecification(), holder.getObjectAction(), holder.getSchemaType()), context);
         this.holder = holder;
 
         if (isBuilt()) {
@@ -103,14 +105,19 @@ public class GqlvActionInvokeArgs
         return holder.argumentManagedObjectsFor(dataFetchingEnvironment, objectAction, bookmarkService);
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectActionProvider {
+                    ObjectActionProvider,
+                    SchemaTypeProvider {
 
         Can<ManagedObject> argumentManagedObjectsFor(
                 Environment dataFetchingEnvironment,
                 ObjectAction objectAction,
                 BookmarkService bookmarkService);
-
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeArgsArg.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
similarity index 92%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeArgsArg.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
index dc4796f3eb..d0eb56ca95 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeArgsArg.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLList;
@@ -31,8 +31,10 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.Getter;
 import lombok.val;
@@ -82,14 +84,15 @@ public class GqlvActionInvokeArgsArg
         return managedObjects.get(paramNum).map(ManagedObject::getPojo).orElse(null);
     }
 
+
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectActionProvider {
+                    ObjectActionProvider,
+                    SchemaTypeProvider {
 
         Can<ManagedObject> argumentManagedObjectsFor(
                 Environment dataFetchingEnvironment,
                 ObjectAction objectAction,
                 BookmarkService bookmarkService);
-
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeResult.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeResult.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
index 4d0d5e12f4..1f93aadbec 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionInvokeResult.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLFieldDefinition;
@@ -29,6 +29,10 @@ import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
+
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
+
 import org.springframework.lang.Nullable;
 
 import org.apache.causeway.applib.annotation.Where;
@@ -145,7 +149,8 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
 
     public interface Holder
             extends ObjectSpecificationProvider,
-            ObjectActionProvider {
+                    ObjectActionProvider,
+                    SchemaTypeProvider {
 
         void addGqlArguments(
                 final ObjectAction objectAction,
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParams.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParams.java
similarity index 90%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParams.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParams.java
index c96aad28e8..f3b4c79eba 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParams.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParams.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -33,10 +33,12 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.Getter;
@@ -55,7 +57,7 @@ public class GqlvActionParams
     public GqlvActionParams(
             final Holder holder,
             final Context context) {
-        super(TypeNames.actionParamsTypeNameFor(holder.getObjectSpecification(), holder.getObjectAction()), context);
+        super(TypeNames.actionParamsTypeNameFor(holder.getObjectSpecification(), holder.getObjectAction(), holder.getSchemaType()), context);
         this.holder = holder;
 
         if (isBuilt()) {
@@ -113,9 +115,15 @@ public class GqlvActionParams
         return holder.argumentManagedObjectsFor(dataFetchingEnvironment, objectAction, bookmarkService);
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectActionProvider {
+                    ObjectActionProvider,
+                    SchemaTypeProvider {
 
         void addGqlArguments(
                 ObjectAction objectAction,
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParam.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParam.java
similarity index 94%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParam.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParam.java
index ab0bd68d40..33249873cf 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParam.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParam.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLFieldDefinition;
@@ -30,10 +30,12 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.Getter;
@@ -76,7 +78,7 @@ public class GqlvActionParamsParam
             final ObjectActionParameter oap,
             final Context context,
             final int paramNum) {
-        super(TypeNames.actionParamTypeNameFor(holder.getObjectSpecification(), oap), context);
+        super(TypeNames.actionParamTypeNameFor(holder.getObjectSpecification(), oap, holder.getSchemaType()), context);
         this.holder = holder;
         this.objectActionParameter = oap;
         this.paramNum = paramNum;
@@ -175,10 +177,15 @@ public class GqlvActionParamsParam
         // TODO: what lives here?
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
 
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectActionProvider {
+                    ObjectActionProvider,
+                    SchemaTypeProvider {
 
         void addGqlArguments(
                 ObjectAction objectAction,
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamAutoComplete.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamAutoComplete.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
index cd022111f5..1c4f9dde7a 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamAutoComplete.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
  import java.util.Collections;
  import java.util.List;
@@ -45,6 +45,7 @@ package org.apache.causeway.viewer.graphql.model.domain.rich;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+ import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
  import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
  import lombok.val;
@@ -108,7 +109,8 @@ package org.apache.causeway.viewer.graphql.model.domain.rich;
      public interface Holder
              extends ObjectSpecificationProvider,
                      ObjectActionProvider,
-                     ObjectActionParameterProvider {
+                     ObjectActionParameterProvider,
+                    SchemaTypeProvider {
          GqlvActionParamsParam.Holder getHolder();
 
          void addGqlArguments(
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamChoices.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamChoices.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
index c7adb18985..1922c0fe37 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamChoices.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
  import java.util.Collections;
  import java.util.List;
@@ -43,6 +43,7 @@ package org.apache.causeway.viewer.graphql.model.domain.rich;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+ import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
  import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
  import lombok.val;
@@ -99,7 +100,8 @@ package org.apache.causeway.viewer.graphql.model.domain.rich;
      public interface Holder
              extends ObjectSpecificationProvider,
                      ObjectActionProvider,
-                     ObjectActionParameterProvider {
+                     ObjectActionParameterProvider,
+                    SchemaTypeProvider {
          GqlvActionParamsParam.Holder getHolder();
 
          void addGqlArguments(
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDatatype.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDatatype.java
similarity index 82%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDatatype.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDatatype.java
index 3a7a1b5b1f..8c0c25eb36 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDatatype.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDatatype.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
@@ -25,8 +25,10 @@ import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -49,10 +51,12 @@ public class GqlvActionParamsParamDatatype extends GqlvAbstract {
     @Override
     protected Object fetchData(DataFetchingEnvironment environment) {
         val returnType = holder.getObjectActionParameter().getElementType();
-        return TypeNames.objectTypeNameFor(returnType);
+        return TypeNames.objectTypeNameFor(returnType, holder.getSchemaType());
     }
 
-    public interface Holder extends ObjectActionParameterProvider {
+    public interface Holder
+            extends ObjectActionParameterProvider,
+                    SchemaTypeProvider {
     }
 
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDefault.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
similarity index 94%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDefault.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
index ec3061eb29..c84b466dc1 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDefault.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.Collections;
 
@@ -39,6 +39,7 @@ import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.val;
@@ -85,8 +86,10 @@ public class GqlvActionParamsParamDefault extends GqlvAbstract {
 
     public interface Holder
             extends ObjectSpecificationProvider,
-            ObjectActionProvider,
-            ObjectActionParameterProvider {
+                    ObjectActionProvider,
+                    ObjectActionParameterProvider,
+                    SchemaTypeProvider {
+
         GqlvActionParamsParam.Holder getHolder();
 
         void addGqlArguments(
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDisabled.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDisabled.java
similarity index 98%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDisabled.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDisabled.java
index 216b9efd22..a2491b5675 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamDisabled.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDisabled.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLFieldDefinition;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamHidden.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamHidden.java
similarity index 94%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamHidden.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamHidden.java
index 4d009e587a..6acbe524c3 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamHidden.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamHidden.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
  import graphql.schema.DataFetchingEnvironment;
  import graphql.schema.GraphQLFieldDefinition;
@@ -35,6 +35,7 @@ package org.apache.causeway.viewer.graphql.model.domain.rich;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
  import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+ import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
  import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
  import lombok.val;
@@ -85,7 +86,9 @@ public class GqlvActionParamsParamHidden extends GqlvAbstract {
     public interface Holder
             extends ObjectSpecificationProvider,
                     ObjectActionProvider,
-                    ObjectActionParameterProvider {
+                    ObjectActionParameterProvider,
+                    SchemaTypeProvider {
+
         void addGqlArguments(
                 ObjectAction objectAction,
                 GraphQLFieldDefinition.Builder fieldBuilder,
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamValidate.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamValidate.java
similarity index 94%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamValidate.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamValidate.java
index 31a4f58746..a8751c00fc 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionParamsParamValidate.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamValidate.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLFieldDefinition;
@@ -36,6 +36,7 @@ import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.val;
@@ -85,7 +86,9 @@ public class GqlvActionParamsParamValidate extends GqlvAbstract {
     public interface Holder
             extends ObjectSpecificationProvider,
                     ObjectActionProvider,
-                    ObjectActionParameterProvider {
+                    ObjectActionParameterProvider,
+            SchemaTypeProvider {
+
         void addGqlArgument(ObjectAction objectAction, GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext inputContext, int paramNum);
 
         Can<ManagedObject> argumentManagedObjectsFor(
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionValidity.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionValidity.java
similarity index 94%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionValidity.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionValidity.java
index 8c5e0e4602..4b1e679e29 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvActionValidity.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionValidity.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.Map;
 
@@ -37,6 +37,7 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.val;
@@ -97,7 +98,8 @@ public class GqlvActionValidity extends GqlvAbstract {
 
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectActionProvider {
+                    ObjectActionProvider,
+                    SchemaTypeProvider {
 
         void addGqlArguments(
                 ObjectAction objectAction,
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociation.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociation.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociation.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociation.java
index 5b43f14542..402de5673b 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociation.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociation.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociationDatatype.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationDatatype.java
similarity index 81%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociationDatatype.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationDatatype.java
index badf89a9d2..34cea21891 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociationDatatype.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationDatatype.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
@@ -26,8 +26,10 @@ import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectAssociationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -50,10 +52,12 @@ public abstract class GqlvAssociationDatatype<T extends ObjectAssociation> exten
     @Override
     protected Object fetchData(DataFetchingEnvironment environment) {
         val returnType = holder.getObjectAssociation().getElementType();
-        return TypeNames.objectTypeNameFor(returnType);
+        return TypeNames.objectTypeNameFor(returnType, holder.getSchemaType());
     }
 
-    public interface Holder<T extends ObjectAssociation> extends ObjectAssociationProvider<T> {
+    public interface Holder<T extends ObjectAssociation>
+            extends ObjectAssociationProvider<T>,
+                    SchemaTypeProvider {
     }
 
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociationGet.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationGet.java
similarity index 92%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociationGet.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationGet.java
index 434af5c22f..bccf42ba64 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvAssociationGet.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationGet.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLOutputType;
@@ -30,6 +30,7 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectAssociationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -80,7 +81,8 @@ public abstract class GqlvAssociationGet<T extends ObjectAssociation> extends Gq
 
     public interface Holder<T extends ObjectAssociation>
             extends ObjectSpecificationProvider,
-                    ObjectAssociationProvider<T> {
+                    ObjectAssociationProvider<T>,
+                    SchemaTypeProvider {
 
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollection.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollection.java
similarity index 90%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollection.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollection.java
index 32a795a61a..cce0a74f51 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollection.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollection.java
@@ -16,11 +16,12 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 
 public class GqlvCollection
@@ -40,7 +41,7 @@ public class GqlvCollection
             final OneToManyAssociation otma,
             final Context context
     ) {
-        super(holder, otma, TypeNames.collectionTypeNameFor(holder.getObjectSpecification(), otma), context);
+        super(holder, otma, TypeNames.collectionTypeNameFor(holder.getObjectSpecification(), otma, holder.getSchemaType()), context);
 
         if(isBuilt()) {
             this.hidden = null;
@@ -74,4 +75,9 @@ public class GqlvCollection
         datatype.addDataFetcher(this);
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollectionDatatype.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionDatatype.java
similarity index 94%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollectionDatatype.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionDatatype.java
index 7c95a3e962..0766f75753 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollectionDatatype.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionDatatype.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollectionGet.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollectionGet.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
index 916524af3f..ed16f85b86 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvCollectionGet.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.GraphQLOutputType;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvDomainObject.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainObject.java
similarity index 92%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvDomainObject.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainObject.java
index b08421868f..09a2822e19 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvDomainObject.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainObject.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -37,6 +37,7 @@ import org.apache.causeway.core.metamodel.spec.feature.MixedIn;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 
 import lombok.Getter;
@@ -49,6 +50,8 @@ public class GqlvDomainObject
         extends GqlvAbstractCustom
         implements GqlvMember.Holder, GqlvMeta.Holder {
 
+    private static final SchemaType SCHEMA_TYPE = SchemaType.RICH;
+
     @Getter private final ObjectSpecification objectSpecification;
 
     private final GqlvMeta meta;
@@ -73,7 +76,7 @@ public class GqlvDomainObject
             final ObjectSpecification objectSpecification,
             final Context context) {
         // no need to map if the target subclass has already been built
-        if(context.domainObjectBySpec.containsKey(objectSpecification)) {
+        if(context.richDomainObjectBySpec.containsKey(objectSpecification)) {
             return;
         }
         val superclasses = superclassesOf(objectSpecification);
@@ -81,7 +84,7 @@ public class GqlvDomainObject
     }
 
     private static GqlvDomainObject computeIfAbsentGqlvDomainObject(Context context, ObjectSpecification objectSpec) {
-        return context.domainObjectBySpec.computeIfAbsent(objectSpec, spec -> new GqlvDomainObject(spec, context));
+        return context.richDomainObjectBySpec.computeIfAbsent(objectSpec, spec -> new GqlvDomainObject(spec, context));
     }
 
     private static List<ObjectSpecification> superclassesOf(final ObjectSpecification objectSpecification) {
@@ -97,7 +100,7 @@ public class GqlvDomainObject
     private GqlvDomainObject(
             final ObjectSpecification objectSpecification,
             final Context context) {
-        super(TypeNames.objectTypeNameFor(objectSpecification), context);
+        super(TypeNames.objectTypeNameFor(objectSpecification, SCHEMA_TYPE), context);
 
         this.objectSpecification = objectSpecification;
         gqlObjectTypeBuilder.description(objectSpecification.getDescription());
@@ -110,7 +113,7 @@ public class GqlvDomainObject
 
         addChildFieldFor(this.meta = new GqlvMeta(this, context));
 
-        val inputObjectTypeBuilder = newInputObject().name(TypeNames.inputTypeNameFor(objectSpecification));
+        val inputObjectTypeBuilder = newInputObject().name(TypeNames.inputTypeNameFor(objectSpecification, getSchemaType()));
         inputObjectTypeBuilder
                 .field(newInputObjectField()
                         .name("id")
@@ -149,7 +152,7 @@ public class GqlvDomainObject
         val objectSpec = getObjectSpecification();
         val fieldName = String.format("%s%s%s",
                 lookupConfig.getFieldNamePrefix(),          // eg "_gqlv_lookup__"
-                TypeNames.objectTypeNameFor(objectSpec),
+                TypeNames.objectTypeFieldNameFor(objectSpec),
                 lookupConfig.getFieldNameSuffix());
 
         return newFieldDefinition()
@@ -199,11 +202,13 @@ public class GqlvDomainObject
                 .orElse(null);
     }
 
+    public SchemaType getSchemaType() {
+        return SCHEMA_TYPE;
+    }
 
     @Override
     public String toString() {
         return objectSpecification.getLogicalTypeName();
     }
 
-
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvDomainService.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainService.java
similarity index 83%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvDomainService.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainService.java
index 62f28b34f1..36af6689d2 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvDomainService.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainService.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,6 +28,7 @@ import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.MixedIn;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 
 import lombok.Getter;
@@ -40,23 +41,26 @@ public class GqlvDomainService
         extends GqlvAbstractCustom
         implements GqlvAction.Holder {
 
+    private final static SchemaType SCHEMA_TYPE = SchemaType.RICH;
+
     @Getter private final ObjectSpecification objectSpecification;
     @Getter private final Object servicePojo;
 
     private final List<GqlvAction> actions = new ArrayList<>();
 
+
     public static GqlvDomainService of(
             final ObjectSpecification objectSpecification,
             final Object servicePojo,
             final Context context) {
-        return context.domainServiceBySpec.computeIfAbsent(objectSpecification, spec -> new GqlvDomainService(spec, servicePojo, context));
+        return context.richDomainServiceBySpec.computeIfAbsent(objectSpecification, spec -> new GqlvDomainService(spec, servicePojo, context));
     }
 
     public GqlvDomainService(
             final ObjectSpecification objectSpecification,
             final Object servicePojo,
             final Context context) {
-        super(TypeNames.objectTypeNameFor(objectSpecification), context);
+        super(TypeNames.objectTypeNameFor(objectSpecification, SCHEMA_TYPE), context);
 
         this.objectSpecification = objectSpecification;
         this.servicePojo = servicePojo;
@@ -66,8 +70,9 @@ public class GqlvDomainService
         }
 
         addActions();
+
         if (hasActions()) {
-            buildObjectTypeAndField(TypeNames.objectTypeNameFor(this.objectSpecification), this.objectSpecification.getDescription());
+            buildObjectTypeAndField(TypeNames.objectTypeFieldNameFor(this.objectSpecification), this.objectSpecification.getDescription());
         }
     }
 
@@ -98,6 +103,9 @@ public class GqlvDomainService
         return getServicePojo();
     }
 
+    public SchemaType getSchemaType() {
+        return SCHEMA_TYPE;
+    }
 
     @Override
     public String toString() {
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMember.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMember.java
similarity index 90%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMember.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMember.java
index 6f1ef6d46f..06c38914f6 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMember.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMember.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
@@ -25,6 +25,7 @@ import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.Getter;
 
@@ -57,7 +58,8 @@ public abstract class GqlvMember<T extends ObjectMember, H extends GqlvMember.Ho
     }
 
     public interface Holder
-            extends ObjectSpecificationProvider {
+            extends ObjectSpecificationProvider,
+                    SchemaTypeProvider {
 
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMemberDisabled.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberDisabled.java
similarity index 92%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMemberDisabled.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberDisabled.java
index a775fa3c35..4349236ac9 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMemberDisabled.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberDisabled.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLOutputType;
@@ -32,6 +32,7 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectMemberProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
@@ -74,6 +75,7 @@ public class GqlvMemberDisabled<T extends ObjectMember> extends GqlvAbstract {
 
     public interface Holder<T extends ObjectMember>
             extends ObjectSpecificationProvider,
-                    ObjectMemberProvider<T> {
+                    ObjectMemberProvider<T>,
+                    SchemaTypeProvider {
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMemberHidden.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberHidden.java
similarity index 92%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMemberHidden.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberHidden.java
index d6067d8bcb..0ab6f72d8c 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMemberHidden.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberHidden.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLOutputType;
@@ -32,6 +32,7 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectMemberProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
@@ -75,6 +76,7 @@ public class GqlvMemberHidden<T extends ObjectMember> extends GqlvAbstract {
 
     public interface Holder<T extends ObjectMember>
             extends ObjectSpecificationProvider,
-                    ObjectMemberProvider<T> {
+                    ObjectMemberProvider<T>,
+                    SchemaTypeProvider {
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMeta.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMeta.java
similarity index 96%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMeta.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMeta.java
index 6318d3685e..bd3ec0436b 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMeta.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMeta.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.Optional;
 
@@ -34,8 +34,10 @@ import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.objectmanager.ObjectManager;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -58,7 +60,7 @@ public class GqlvMeta extends GqlvAbstractCustom {
             final Holder holder,
             final Context context
     ) {
-        super(TypeNames.metaTypeNameFor(holder.getObjectSpecification()), context);
+        super(TypeNames.metaTypeNameFor(holder.getObjectSpecification(), holder.getSchemaType()), context);
         this.holder = holder;
 
         this.graphqlConfiguration = context.causewayConfiguration.getViewer().getGraphql();
@@ -228,7 +230,8 @@ public class GqlvMeta extends GqlvAbstractCustom {
     }
 
     public interface Holder
-            extends ObjectSpecificationProvider {
+            extends ObjectSpecificationProvider,
+                    SchemaTypeProvider {
 
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaCssClass.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaCssClass.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaCssClass.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaCssClass.java
index 92469f4b75..849084358d 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaCssClass.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaCssClass.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaGrid.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaGrid.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaGrid.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaGrid.java
index 0007123165..3aaf0f7fc1 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaGrid.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaGrid.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaIcon.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaIcon.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaIcon.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaIcon.java
index 3c513d9191..5727ffcb0f 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaIcon.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaIcon.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaId.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaId.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaId.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaId.java
index 6abe43e7a5..bcd2017bdc 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaId.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaId.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaLayout.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaLayout.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaLayout.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaLayout.java
index f006968682..f558234c26 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaLayout.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaLayout.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaLogicalTypeName.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaLogicalTypeName.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaLogicalTypeName.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaLogicalTypeName.java
index 73b8dc8b40..10bafbf158 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaLogicalTypeName.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaLogicalTypeName.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaSaveAs.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaSaveAs.java
similarity index 97%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaSaveAs.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaSaveAs.java
index b98a398404..b81b58c896 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaSaveAs.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaSaveAs.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.GraphQLContext;
 import graphql.Scalars;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaTitle.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaTitle.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaTitle.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaTitle.java
index 238b6427e1..e44be380db 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaTitle.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaTitle.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaVersion.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaVersion.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaVersion.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaVersion.java
index c4340230b3..f5e9c1aefd 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvMetaVersion.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMetaVersion.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.Scalars;
 import graphql.schema.DataFetchingEnvironment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvProperty.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvProperty.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
index 9ce9841d28..08113bd8b8 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvProperty.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.GraphQLArgument;
 import graphql.schema.GraphQLFieldDefinition;
@@ -27,6 +27,7 @@ import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
@@ -68,7 +69,7 @@ public class GqlvProperty
             final Holder holder,
             final OneToOneAssociation otoa,
             final Context context) {
-        super(holder, otoa, TypeNames.propertyTypeNameFor(holder.getObjectSpecification(), otoa), context);
+        super(holder, otoa, TypeNames.propertyTypeNameFor(holder.getObjectSpecification(), otoa, holder.getSchemaType()), context);
 
         if (isBuilt()) {
             this.hidden = null;
@@ -174,4 +175,9 @@ public class GqlvProperty
         datatype.addDataFetcher(this);
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyAutoComplete.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
similarity index 93%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyAutoComplete.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
index 45c1b99275..3a39467d9b 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyAutoComplete.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.stream.Collectors;
 
@@ -34,6 +34,7 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -88,7 +89,8 @@ public class GqlvPropertyAutoComplete extends GqlvAbstract {
 
     public interface Holder
             extends ObjectSpecificationProvider,
-                    OneToOneAssociationProvider {
+                    OneToOneAssociationProvider,
+                    SchemaTypeProvider {
 
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyChoices.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyChoices.java
similarity index 93%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyChoices.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyChoices.java
index 432f7d463b..1338f2c3b9 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyChoices.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyChoices.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.stream.Collectors;
 
@@ -34,6 +34,7 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.val;
@@ -82,7 +83,8 @@ public class GqlvPropertyChoices extends GqlvAbstract {
 
     public interface Holder
             extends ObjectSpecificationProvider,
-                    OneToOneAssociationProvider {
+                    OneToOneAssociationProvider,
+                    SchemaTypeProvider {
 
         void addGqlArgument(OneToOneAssociation otoa, GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext inputContext);
     }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyDatatype.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyDatatype.java
similarity index 94%
copy from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyDatatype.java
copy to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyDatatype.java
index c33e6cfa0e..2dca4546ff 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyDatatype.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyDatatype.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGet.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
similarity index 84%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGet.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
index fc3402b84d..41f03813e2 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGet.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
@@ -16,12 +16,13 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.GraphQLOutputType;
 
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -39,7 +40,9 @@ public class GqlvPropertyGet extends GqlvAssociationGet<OneToOneAssociation> {
         return context.typeMapper.outputTypeFor(oneToOneAssociation);
     }
 
-    public interface Holder extends GqlvAssociationGet.Holder<OneToOneAssociation> {
+    public interface Holder
+            extends GqlvAssociationGet.Holder<OneToOneAssociation>,
+                    SchemaTypeProvider {
 
         @Override
         OneToOneAssociation getObjectAssociation();
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlob.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlob.java
similarity index 90%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlob.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlob.java
index 16d9ae7ffa..3bb63dde91 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlob.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlob.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
@@ -27,10 +27,12 @@ import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectAssociationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 public class GqlvPropertyGetBlob
         extends GqlvAbstractCustom
@@ -47,7 +49,7 @@ public class GqlvPropertyGetBlob
     public GqlvPropertyGetBlob(
             final Holder holder,
             final Context context) {
-        super(TypeNames.propertyBlobTypeNameFor(holder.getObjectSpecification(), holder.getObjectMember()), context);
+        super(TypeNames.propertyBlobTypeNameFor(holder.getObjectSpecification(), holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
 
         this.graphqlConfiguration = context.causewayConfiguration.getViewer().getGraphql();
@@ -106,9 +108,15 @@ public class GqlvPropertyGetBlob
         return holder.getObjectSpecification();
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectAssociationProvider<OneToOneAssociation> {
+                    ObjectAssociationProvider<OneToOneAssociation>,
+                    SchemaTypeProvider {
 
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobAbstract.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobAbstract.java
similarity index 91%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobAbstract.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobAbstract.java
index df0cc21b3d..96be1c52cd 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobAbstract.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobAbstract.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.Optional;
 import java.util.function.Function;
@@ -30,6 +30,7 @@ import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -71,7 +72,9 @@ public abstract class GqlvPropertyGetBlobAbstract extends GqlvAbstract {
                 .orElse(null);
     }
 
-    public interface Holder extends GqlvPropertyGet.Holder {
+    public interface Holder
+            extends GqlvPropertyGet.Holder,
+                    SchemaTypeProvider {
     }
 
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobBytes.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobBytes.java
similarity index 96%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobBytes.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobBytes.java
index 6f5dffbe80..96f95fc36c 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobBytes.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobBytes.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobMimeType.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobMimeType.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobMimeType.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobMimeType.java
index 10070950d6..f612f7ea00 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobMimeType.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobMimeType.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobName.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobName.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobName.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobName.java
index 172bc8f2b9..ee3c3b1745 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetBlobName.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobName.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClob.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClob.java
similarity index 90%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClob.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClob.java
index 27fdcd832d..518fec9c83 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClob.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClob.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
@@ -27,10 +27,12 @@ import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectAssociationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 public class GqlvPropertyGetClob
         extends GqlvAbstractCustom
@@ -47,7 +49,7 @@ public class GqlvPropertyGetClob
     public GqlvPropertyGetClob(
             final Holder holder,
             final Context context) {
-        super(TypeNames.propertyBlobTypeNameFor(holder.getObjectSpecification(), holder.getObjectMember()), context);
+        super(TypeNames.propertyBlobTypeNameFor(holder.getObjectSpecification(), holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
 
         this.graphqlConfiguration = context.causewayConfiguration.getViewer().getGraphql();
@@ -106,9 +108,15 @@ public class GqlvPropertyGetClob
         return holder.getObjectSpecification();
     }
 
+    @Override
+    public SchemaType getSchemaType() {
+        return holder.getSchemaType();
+    }
+
     public interface Holder
             extends ObjectSpecificationProvider,
-                    ObjectAssociationProvider<OneToOneAssociation> {
+                    ObjectAssociationProvider<OneToOneAssociation>,
+                    SchemaTypeProvider {
 
     }
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobAbstract.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobAbstract.java
similarity index 91%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobAbstract.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobAbstract.java
index c7663a6956..70fae768c6 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobAbstract.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobAbstract.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.Optional;
 import java.util.function.Function;
@@ -30,6 +30,7 @@ import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 import lombok.val;
 
@@ -71,7 +72,9 @@ public abstract class GqlvPropertyGetClobAbstract extends GqlvAbstract {
                 .orElse(null);
     }
 
-    public interface Holder extends GqlvPropertyGet.Holder {
+    public interface Holder
+            extends GqlvPropertyGet.Holder,
+                    SchemaTypeProvider {
     }
 
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobChars.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobChars.java
similarity index 96%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobChars.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobChars.java
index 43256a1dda..b475ee9495 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobChars.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobChars.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobMimeType.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobMimeType.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobMimeType.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobMimeType.java
index 36489b30a4..a40f779143 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobMimeType.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobMimeType.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobName.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobName.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobName.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobName.java
index 6367996ef3..357af0ff08 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyGetClobName.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobName.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertySet.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertySet.java
similarity index 95%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertySet.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertySet.java
index 822e3a15c5..6e3f325da9 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertySet.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertySet.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.Map;
 
@@ -37,6 +37,7 @@ import org.apache.causeway.viewer.graphql.model.exceptions.InvalidException;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.val;
@@ -101,7 +102,8 @@ public class GqlvPropertySet extends GqlvAbstract {
 
     public interface Holder
             extends ObjectSpecificationProvider,
-                    OneToOneAssociationProvider {
+                    OneToOneAssociationProvider,
+                    SchemaTypeProvider {
 
         void addGqlArgument(OneToOneAssociation oneToOneAssociation, GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext inputContext);
     }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyValidate.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyValidate.java
similarity index 93%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyValidate.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyValidate.java
index 355428221b..60d66b7e66 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyValidate.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyValidate.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.DataFetchingEnvironment;
 import graphql.schema.GraphQLFieldDefinition;
@@ -32,6 +32,7 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
+import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
 import lombok.val;
@@ -77,7 +78,8 @@ public class GqlvPropertyValidate extends GqlvAbstract {
 
     public interface Holder
             extends ObjectSpecificationProvider,
-                    OneToOneAssociationProvider {
+                    OneToOneAssociationProvider,
+                    SchemaTypeProvider {
 
         void addGqlArgument(OneToOneAssociation oneToOneAssociation, GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext inputContext);
     }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvTopLevelRichSchema.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvTopLevelRichSchema.java
similarity index 97%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvTopLevelRichSchema.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvTopLevelRichSchema.java
index bc867796b0..ad2302ef17 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvTopLevelRichSchema.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvTopLevelRichSchema.java
@@ -1,4 +1,4 @@
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyDatatype.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/SchemaTypeProvider.java
similarity index 64%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyDatatype.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/SchemaTypeProvider.java
index c33e6cfa0e..1867378445 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/GqlvPropertyDatatype.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/SchemaTypeProvider.java
@@ -16,17 +16,11 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.model.domain.rich;
+package org.apache.causeway.viewer.graphql.model.mmproviders;
 
-import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.causeway.viewer.graphql.model.context.Context;
-
-public class GqlvPropertyDatatype extends GqlvAssociationDatatype<OneToOneAssociation> {
-
-    public GqlvPropertyDatatype(
-            final Holder<OneToOneAssociation> holder,
-            final Context context) {
-        super(holder, context);
-    }
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 
+public interface SchemaTypeProvider  {
+    SchemaType getSchemaType();
 }
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java
index 6028b78033..8e232d2aca 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java
@@ -37,6 +37,8 @@ import graphql.schema.GraphQLType;
 import static graphql.schema.GraphQLEnumType.newEnum;
 import static graphql.schema.GraphQLEnumValueDefinition.newEnumValueDefinition;
 
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
+
 import org.springframework.stereotype.Component;
 
 import org.apache.causeway.viewer.graphql.model.context.Context;
@@ -75,7 +77,7 @@ public class GraphQLTypeRegistry {
 
     public GraphQLEnumType addEnumTypeIfNotAlreadyPresent(final Class<?> typeToAdd) {
         val objectSpec = contextProvider.get().specificationLoader.loadSpecification(typeToAdd);
-        val typeName = TypeNames.enumTypeNameFor(objectSpec);
+        val typeName = TypeNames.enumTypeNameFor(objectSpec, SchemaType.RICH);
         val enumTypeIfAny = lookup(typeName, GraphQLEnumType.class);
         if (enumTypeIfAny.isPresent()) {
             return enumTypeIfAny.get();
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQueryForSimpleAndRich.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelForSimpleAndRich.java
similarity index 65%
rename from viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQueryForSimpleAndRich.java
rename to viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelForSimpleAndRich.java
index 052e97b206..763815ccd2 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQueryForSimpleAndRich.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelForSimpleAndRich.java
@@ -4,16 +4,18 @@ import graphql.schema.DataFetchingEnvironment;
 
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvTopLevelRichSchema;
+import org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvTopLevelRichSchema;
 
-public class GqlvTopLevelQueryForSimpleAndRich extends GqlvAbstractCustom {
+public class GqlvTopLevelForSimpleAndRich extends GqlvAbstractCustom {
 
     private final GqlvTopLevelRichSchema richSchema;
+//    private final GqlvTopLevelSimpleSchema simpleSchema;
 
-    public GqlvTopLevelQueryForSimpleAndRich(final Context context) {
+    public GqlvTopLevelForSimpleAndRich(final Context context) {
         super("SimpleAndRich", context);
 
         addChildFieldFor(richSchema = new GqlvTopLevelRichSchema(context));
+//        addChildFieldFor(simpleSchema = new GqlvTopLevelSimpleSchema(context));
 
         buildObjectType();
     }
@@ -26,6 +28,7 @@ public class GqlvTopLevelQueryForSimpleAndRich extends GqlvAbstractCustom {
     @Override
     protected void addDataFetchersForChildren() {
         richSchema.addDataFetcher(this);
+//        simpleSchema.addDataFetcher(this);
     }
 
     @Override
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java
index 563d26d663..393289ebd5 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java
@@ -14,8 +14,8 @@ import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
 import org.apache.causeway.viewer.graphql.model.domain.Parent;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvMutationForAction;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvMutationForProperty;
+import org.apache.causeway.viewer.graphql.model.domain.rich.mutation.GqlvMutationForAction;
+import org.apache.causeway.viewer.graphql.model.domain.rich.mutation.GqlvMutationForProperty;
 
 import lombok.val;
 
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java
index 780d4c641f..28c6c75657 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java
@@ -30,6 +30,8 @@ import graphql.schema.GraphQLTypeReference;
 import static graphql.schema.GraphQLNonNull.nonNull;
 import static graphql.schema.GraphQLTypeReference.typeRef;
 
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
+
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -97,7 +99,7 @@ public class TypeMapperDefault implements TypeMapper {
             case VIEW_MODEL:
             case ENTITY:
 
-                GraphQLTypeReference fieldTypeRef = typeRef(TypeNames.objectTypeNameFor(otoaObjectSpec));
+                GraphQLTypeReference fieldTypeRef = typeRef(TypeNames.objectTypeNameFor(otoaObjectSpec, SchemaType.RICH));
                 return oneToOneFeature.isOptional()
                         ? fieldTypeRef
                         : nonNull(fieldTypeRef);
@@ -121,7 +123,7 @@ public class TypeMapperDefault implements TypeMapper {
             case ABSTRACT:
             case ENTITY:
             case VIEW_MODEL:
-                return typeRef(TypeNames.objectTypeNameFor(objectSpecification));
+                return typeRef(TypeNames.objectTypeNameFor(objectSpecification, SchemaType.RICH));
 
             case VALUE:
                 return outputTypeFor(objectSpecification.getCorrespondingClass());
@@ -147,7 +149,7 @@ public class TypeMapperDefault implements TypeMapper {
         switch (elementType.getBeanSort()) {
             case VIEW_MODEL:
             case ENTITY:
-                return GraphQLList.list(typeRef(TypeNames.objectTypeNameFor(elementType)));
+                return GraphQLList.list(typeRef(TypeNames.objectTypeNameFor(elementType, SchemaType.RICH)));
             case VALUE:
                 return GraphQLList.list(outputTypeFor(elementType.getCorrespondingClass()));
         }
@@ -169,7 +171,7 @@ public class TypeMapperDefault implements TypeMapper {
             case ABSTRACT:
             case ENTITY:
             case VIEW_MODEL:
-                return typeRef(TypeNames.inputTypeNameFor(elementObjectSpec));
+                return typeRef(TypeNames.inputTypeNameFor(elementObjectSpec, SchemaType.RICH));
 
             case VALUE:
                 return inputTypeFor(elementObjectSpec.getCorrespondingClass());
@@ -194,7 +196,7 @@ public class TypeMapperDefault implements TypeMapper {
             case ABSTRACT:
             case ENTITY:
             case VIEW_MODEL:
-                return typeRef(TypeNames.inputTypeNameFor(elementType));
+                return typeRef(TypeNames.inputTypeNameFor(elementType, SchemaType.RICH));
 
             case VALUE:
                 return inputTypeFor(elementType.getCorrespondingClass());
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments.approved.json
index f5824e7f08..c09eda6b6b 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments.approved.json
@@ -7,7 +7,7 @@
             "results" : [ {
               "name" : {
                 "get" : "Civil Engineering",
-                "datatype" : "java_lang_String"
+                "datatype" : "rich__java_lang_String"
               },
               "_meta" : {
                 "logicalTypeName" : "university.dept.Department",
@@ -16,7 +16,7 @@
             }, {
               "name" : {
                 "get" : "Classics",
-                "datatype" : "java_lang_String"
+                "datatype" : "rich__java_lang_String"
               },
               "_meta" : {
                 "logicalTypeName" : "university.dept.Department",
@@ -25,7 +25,7 @@
             }, {
               "name" : {
                 "get" : "Mathematics",
-                "datatype" : "java_lang_String"
+                "datatype" : "rich__java_lang_String"
               },
               "_meta" : {
                 "logicalTypeName" : "university.dept.Department",
@@ -34,7 +34,7 @@
             }, {
               "name" : {
                 "get" : "Pathology",
-                "datatype" : "java_lang_String"
+                "datatype" : "rich__java_lang_String"
               },
               "_meta" : {
                 "logicalTypeName" : "university.dept.Department",
@@ -43,7 +43,7 @@
             }, {
               "name" : {
                 "get" : "Physics",
-                "datatype" : "java_lang_String"
+                "datatype" : "rich__java_lang_String"
               },
               "_meta" : {
                 "logicalTypeName" : "university.dept.Department",
@@ -52,7 +52,7 @@
             }, {
               "name" : {
                 "get" : "Textiles",
-                "datatype" : "java_lang_String"
+                "datatype" : "rich__java_lang_String"
               },
               "_meta" : {
                 "logicalTypeName" : "university.dept.Department",
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members.approved.json
index 803db342fa..b79b817970 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members.approved.json
@@ -35,7 +35,7 @@
                   "addStaffMembers" : {
                     "params" : {
                       "staffMembers" : {
-                        "datatype" : "university_dept_StaffMember",
+                        "datatype" : "rich__university_dept_StaffMember",
                         "choices" : [ {
                           "_meta" : {
                             "saveAs" : "staff-member"
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete.approved.json
index e886328594..7aa33c0b69 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete.approved.json
@@ -8,7 +8,7 @@
               "changeDeptHead" : {
                 "params" : {
                   "newDeptHead" : {
-                    "datatype" : "university_dept_DeptHead",
+                    "datatype" : "rich__university_dept_DeptHead",
                     "autoComplete" : [ {
                       "name" : {
                         "get" : "Dr. Susan Hopwood"
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid.approved.json
index dfb22ee804..824bee8b56 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid.approved.json
@@ -8,7 +8,7 @@
               "changeName" : {
                 "params" : {
                   "newName" : {
-                    "datatype" : "java_lang_String"
+                    "datatype" : "rich__java_lang_String"
                   }
                 },
                 "validate" : "Name cannot contain '!' character"
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff.approved.json
index 9f4720e0cb..cd03fe69fd 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff.approved.json
@@ -9,7 +9,7 @@
                 "get" : "Classics"
               },
               "staffMembers" : {
-                "datatype" : "university_dept_StaffMember",
+                "datatype" : "rich__university_dept_StaffMember",
                 "get" : [ {
                   "name" : {
                     "get" : "Gerry Jones"
diff --git a/viewers/graphql/test/src/test/resources/schema.gql b/viewers/graphql/test/src/test/resources/schema.gql
index 218e2a9921..82d5707282 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -28,98 +28,98 @@ directive @specifiedBy(
   ) on SCALAR
 
 type Mutation {
-  causeway_applib_PropertyNode__mixedIn(_target: causeway_applib_PropertyNode__gqlv_input, mixedIn: Boolean!): causeway_applib_PropertyNode
-  causeway_applib_node_ActionNode__mixedIn(_target: causeway_applib_node_ActionNode__gqlv_input, mixedIn: Boolean!): causeway_applib_node_ActionNode
-  causeway_applib_node_CollectionNode__mixedIn(_target: causeway_applib_node_CollectionNode__gqlv_input, mixedIn: Boolean!): causeway_applib_node_CollectionNode
-  causeway_applib_node_FacetNode__shadowed(_target: causeway_applib_node_FacetNode__gqlv_input, shadowed: Boolean!): causeway_applib_node_FacetNode
-  causeway_conf_ConfigurationProperty__key(_target: causeway_conf_ConfigurationProperty__gqlv_input, key: String!): causeway_conf_ConfigurationProperty
-  causeway_conf_ConfigurationProperty__value(_target: causeway_conf_ConfigurationProperty__gqlv_input, value: String!): causeway_conf_ConfigurationProperty
-  causeway_schema_metamodel_v2_DomainClassDto__actions(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, actions: String!): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__annotations(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, annotations: String!): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__collections(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, collections: String!): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__facets(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, facets: String!): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__id(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, id: String!): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__majorVersion(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, majorVersion: String): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__minorVersion(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, minorVersion: String): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__properties(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, properties: String!): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_schema_metamodel_v2_DomainClassDto__service(_target: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, service: Boolean!): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_testing_fixtures_FixtureResult__fixtureScriptClassName(_target: causeway_testing_fixtures_FixtureResult__gqlv_input, fixtureScriptClassName: String): causeway_testing_fixtures_FixtureResult
-  causeway_testing_fixtures_FixtureResult__key(_target: causeway_testing_fixtures_FixtureResult__gqlv_input, key: String!): causeway_testing_fixtures_FixtureResult
-  causeway_testing_fixtures_FixtureResult__object(_target: causeway_testing_fixtures_FixtureResult__gqlv_input, object: String!): causeway_testing_fixtures_FixtureResult
-  org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedIn(_target: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input, mixedIn: Boolean!): org_apache_causeway_core_metamodel_inspect_model_MemberNode
-  org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__friendlyName(_target: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input, friendlyName: String!): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
-  university_admin_AdminMenu__actionWithDisabledParam(firstParam: String!, secondParam: String!, thirdParameter: String!): String
-  university_admin_AdminMenu__actionWithHiddenParam(firstParam: String!, secondParam: String!): String
-  university_admin_AdminMenu__adminAction: String
-  university_admin_AdminMenu__otherAdminAction: String
-  university_dept_Department__addStaffMember(_target: university_dept_Department__gqlv_input, staffMember: university_dept_StaffMember__gqlv_input!): university_dept_Department
-  university_dept_Department__addStaffMembers(_target: university_dept_Department__gqlv_input, staffMembers: [university_dept_StaffMember__gqlv_input]): university_dept_Department
-  university_dept_Department__changeDeptHead(_target: university_dept_Department__gqlv_input, newDeptHead: university_dept_DeptHead__gqlv_input!): university_dept_Department
-  university_dept_Department__changeName(_target: university_dept_Department__gqlv_input, newName: String!): university_dept_Department
-  university_dept_Department__deptHead(_target: university_dept_Department__gqlv_input, deptHead: university_dept_DeptHead__gqlv_input): university_dept_Department
-  university_dept_Department__name(_target: university_dept_Department__gqlv_input, name: String!): university_dept_Department
-  university_dept_Department__removeStaffMember(_target: university_dept_Department__gqlv_input, staffMember: university_dept_StaffMember__gqlv_input!): university_dept_Department
-  university_dept_Departments__createDepartment(deptHead: university_dept_DeptHead__gqlv_input, name: String!): university_dept_Department
-  university_dept_DeptHead__changeDepartment(_target: university_dept_DeptHead__gqlv_input, department: university_dept_Department__gqlv_input!): university_dept_DeptHead
-  university_dept_DeptHead__changeName(_target: university_dept_DeptHead__gqlv_input, newName: String!): university_dept_DeptHead
-  university_dept_DeptHead__department(_target: university_dept_DeptHead__gqlv_input, department: university_dept_Department__gqlv_input): university_dept_DeptHead
-  university_dept_DeptHead__name(_target: university_dept_DeptHead__gqlv_input, name: String): university_dept_DeptHead
-  university_dept_StaffMember__department(_target: university_dept_StaffMember__gqlv_input, department: university_dept_Department__gqlv_input): university_dept_StaffMember
-  university_dept_StaffMember__grade(_target: university_dept_StaffMember__gqlv_input, grade: org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum!): university_dept_StaffMember
-  university_dept_StaffMember__name(_target: university_dept_StaffMember__gqlv_input, name: String!): university_dept_StaffMember
-  university_dept_StaffMember__photo(_target: university_dept_StaffMember__gqlv_input, photo: String): university_dept_StaffMember
-  university_dept_Staff__createStaffMember(department: university_dept_Department__gqlv_input!, name: String!): university_dept_StaffMember
+  rich_causeway_applib_PropertyNode__mixedIn(_target: rich_causeway_applib_PropertyNode__gqlv_input, mixedIn: Boolean!): rich_causeway_applib_PropertyNode
+  rich_causeway_applib_node_ActionNode__mixedIn(_target: rich_causeway_applib_node_ActionNode__gqlv_input, mixedIn: Boolean!): rich_causeway_applib_node_ActionNode
+  rich_causeway_applib_node_CollectionNode__mixedIn(_target: rich_causeway_applib_node_CollectionNode__gqlv_input, mixedIn: Boolean!): rich_causeway_applib_node_CollectionNode
+  rich_causeway_applib_node_FacetNode__shadowed(_target: rich_causeway_applib_node_FacetNode__gqlv_input, shadowed: Boolean!): rich_causeway_applib_node_FacetNode
+  rich_causeway_conf_ConfigurationProperty__key(_target: rich_causeway_conf_ConfigurationProperty__gqlv_input, key: String!): rich_causeway_conf_ConfigurationProperty
+  rich_causeway_conf_ConfigurationProperty__value(_target: rich_causeway_conf_ConfigurationProperty__gqlv_input, value: String!): rich_causeway_conf_ConfigurationProperty
+  rich_causeway_schema_metamodel_v2_DomainClassDto__actions(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, actions: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__annotations(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, annotations: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__collections(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, collections: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__facets(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, facets: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__id(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, id: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__majorVersion(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, majorVersion: String): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__minorVersion(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, minorVersion: String): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__properties(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, properties: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_schema_metamodel_v2_DomainClassDto__service(_target: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input, service: Boolean!): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_testing_fixtures_FixtureResult__fixtureScriptClassName(_target: rich_causeway_testing_fixtures_FixtureResult__gqlv_input, fixtureScriptClassName: String): rich_causeway_testing_fixtures_FixtureResult
+  rich_causeway_testing_fixtures_FixtureResult__key(_target: rich_causeway_testing_fixtures_FixtureResult__gqlv_input, key: String!): rich_causeway_testing_fixtures_FixtureResult
+  rich_causeway_testing_fixtures_FixtureResult__object(_target: rich_causeway_testing_fixtures_FixtureResult__gqlv_input, object: String!): rich_causeway_testing_fixtures_FixtureResult
+  rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedIn(_target: rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input, mixedIn: Boolean!): rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode
+  rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__friendlyName(_target: rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input, friendlyName: String!): rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
+  rich_university_admin_AdminMenu__actionWithDisabledParam(firstParam: String!, secondParam: String!, thirdParameter: String!): String
+  rich_university_admin_AdminMenu__actionWithHiddenParam(firstParam: String!, secondParam: String!): String
+  rich_university_admin_AdminMenu__adminAction: String
+  rich_university_admin_AdminMenu__otherAdminAction: String
+  rich_university_dept_Department__addStaffMember(_target: rich_university_dept_Department__gqlv_input, staffMember: rich_university_dept_StaffMember__gqlv_input!): rich_university_dept_Department
+  rich_university_dept_Department__addStaffMembers(_target: rich_university_dept_Department__gqlv_input, staffMembers: [rich_university_dept_StaffMember__gqlv_input]): rich_university_dept_Department
+  rich_university_dept_Department__changeDeptHead(_target: rich_university_dept_Department__gqlv_input, newDeptHead: rich_university_dept_DeptHead__gqlv_input!): rich_university_dept_Department
+  rich_university_dept_Department__changeName(_target: rich_university_dept_Department__gqlv_input, newName: String!): rich_university_dept_Department
+  rich_university_dept_Department__deptHead(_target: rich_university_dept_Department__gqlv_input, deptHead: rich_university_dept_DeptHead__gqlv_input): rich_university_dept_Department
+  rich_university_dept_Department__name(_target: rich_university_dept_Department__gqlv_input, name: String!): rich_university_dept_Department
+  rich_university_dept_Department__removeStaffMember(_target: rich_university_dept_Department__gqlv_input, staffMember: rich_university_dept_StaffMember__gqlv_input!): rich_university_dept_Department
+  rich_university_dept_Departments__createDepartment(deptHead: rich_university_dept_DeptHead__gqlv_input, name: String!): rich_university_dept_Department
+  rich_university_dept_DeptHead__changeDepartment(_target: rich_university_dept_DeptHead__gqlv_input, department: rich_university_dept_Department__gqlv_input!): rich_university_dept_DeptHead
+  rich_university_dept_DeptHead__changeName(_target: rich_university_dept_DeptHead__gqlv_input, newName: String!): rich_university_dept_DeptHead
+  rich_university_dept_DeptHead__department(_target: rich_university_dept_DeptHead__gqlv_input, department: rich_university_dept_Department__gqlv_input): rich_university_dept_DeptHead
+  rich_university_dept_DeptHead__name(_target: rich_university_dept_DeptHead__gqlv_input, name: String): rich_university_dept_DeptHead
+  rich_university_dept_StaffMember__department(_target: rich_university_dept_StaffMember__gqlv_input, department: rich_university_dept_Department__gqlv_input): rich_university_dept_StaffMember
+  rich_university_dept_StaffMember__grade(_target: rich_university_dept_StaffMember__gqlv_input, grade: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum!): rich_university_dept_StaffMember
+  rich_university_dept_StaffMember__name(_target: rich_university_dept_StaffMember__gqlv_input, name: String!): rich_university_dept_StaffMember
+  rich_university_dept_StaffMember__photo(_target: rich_university_dept_StaffMember__gqlv_input, photo: String): rich_university_dept_StaffMember
+  rich_university_dept_Staff__createStaffMember(department: rich_university_dept_Department__gqlv_input!, name: String!): rich_university_dept_StaffMember
 }
 
 type RichSchema {
   Scenario(name: String): Scenario
-  causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList
-  causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode
-  causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode
-  causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode
-  causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento
-  causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode
-  causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento
-  causeway_applib_UserMenu: causeway_applib_UserMenu
-  causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode
-  causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode
-  causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode
-  causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode
-  causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu
-  causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty
-  causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel
-  causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel
-  causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace
-  causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType
-  causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction
-  causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection
-  causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember
-  causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty
-  causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect
-  causeway_security_LogoutMenu: causeway_security_LogoutMenu
-  causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult
-  java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable
-  java_util_Map(object: java_util_Map__gqlv_input): java_util_Map
-  java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap
-  java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable
-  java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction
-  java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer
-  java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function
-  java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream
-  org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode
-  org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode
-  org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
-  university_admin_AdminMenu: university_admin_AdminMenu
-  university_calc_Calculator: university_calc_Calculator
-  university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department
-  university_dept_Departments: university_dept_Departments
-  university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead
-  university_dept_DeptHeads: university_dept_DeptHeads
-  university_dept_People: university_dept_People
-  university_dept_Person(object: university_dept_Person__gqlv_input): university_dept_Person
-  university_dept_Staff: university_dept_Staff
-  university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember
+  rich_causeway_applib_DomainObjectList(object: rich_causeway_applib_DomainObjectList__gqlv_input): rich_causeway_applib_DomainObjectList
+  rich_causeway_applib_FacetGroupNode(object: rich_causeway_applib_FacetGroupNode__gqlv_input): rich_causeway_applib_FacetGroupNode
+  rich_causeway_applib_ParameterNode(object: rich_causeway_applib_ParameterNode__gqlv_input): rich_causeway_applib_ParameterNode
+  rich_causeway_applib_PropertyNode(object: rich_causeway_applib_PropertyNode__gqlv_input): rich_causeway_applib_PropertyNode
+  rich_causeway_applib_RoleMemento(object: rich_causeway_applib_RoleMemento__gqlv_input): rich_causeway_applib_RoleMemento
+  rich_causeway_applib_TypeNode(object: rich_causeway_applib_TypeNode__gqlv_input): rich_causeway_applib_TypeNode
+  rich_causeway_applib_UserMemento(object: rich_causeway_applib_UserMemento__gqlv_input): rich_causeway_applib_UserMemento
+  rich_causeway_applib_UserMenu: rich_causeway_applib_UserMenu
+  rich_causeway_applib_node_ActionNode(object: rich_causeway_applib_node_ActionNode__gqlv_input): rich_causeway_applib_node_ActionNode
+  rich_causeway_applib_node_CollectionNode(object: rich_causeway_applib_node_CollectionNode__gqlv_input): rich_causeway_applib_node_CollectionNode
+  rich_causeway_applib_node_FacetAttrNode(object: rich_causeway_applib_node_FacetAttrNode__gqlv_input): rich_causeway_applib_node_FacetAttrNode
+  rich_causeway_applib_node_FacetNode(object: rich_causeway_applib_node_FacetNode__gqlv_input): rich_causeway_applib_node_FacetNode
+  rich_causeway_conf_ConfigurationMenu: rich_causeway_conf_ConfigurationMenu
+  rich_causeway_conf_ConfigurationProperty(object: rich_causeway_conf_ConfigurationProperty__gqlv_input): rich_causeway_conf_ConfigurationProperty
+  rich_causeway_conf_ConfigurationViewmodel(object: rich_causeway_conf_ConfigurationViewmodel__gqlv_input): rich_causeway_conf_ConfigurationViewmodel
+  rich_causeway_feat_ApplicationFeatureViewModel(object: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): rich_causeway_feat_ApplicationFeatureViewModel
+  rich_causeway_feat_ApplicationNamespace(object: rich_causeway_feat_ApplicationNamespace__gqlv_input): rich_causeway_feat_ApplicationNamespace
+  rich_causeway_feat_ApplicationType(object: rich_causeway_feat_ApplicationType__gqlv_input): rich_causeway_feat_ApplicationType
+  rich_causeway_feat_ApplicationTypeAction(object: rich_causeway_feat_ApplicationTypeAction__gqlv_input): rich_causeway_feat_ApplicationTypeAction
+  rich_causeway_feat_ApplicationTypeCollection(object: rich_causeway_feat_ApplicationTypeCollection__gqlv_input): rich_causeway_feat_ApplicationTypeCollection
+  rich_causeway_feat_ApplicationTypeMember(object: rich_causeway_feat_ApplicationTypeMember__gqlv_input): rich_causeway_feat_ApplicationTypeMember
+  rich_causeway_feat_ApplicationTypeProperty(object: rich_causeway_feat_ApplicationTypeProperty__gqlv_input): rich_causeway_feat_ApplicationTypeProperty
+  rich_causeway_schema_metamodel_v2_DomainClassDto(object: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_security_LoginRedirect(object: rich_causeway_security_LoginRedirect__gqlv_input): rich_causeway_security_LoginRedirect
+  rich_causeway_security_LogoutMenu: rich_causeway_security_LogoutMenu
+  rich_causeway_testing_fixtures_FixtureResult(object: rich_causeway_testing_fixtures_FixtureResult__gqlv_input): rich_causeway_testing_fixtures_FixtureResult
+  rich_java_lang_Runnable(object: rich_java_lang_Runnable__gqlv_input): rich_java_lang_Runnable
+  rich_java_util_Map(object: rich_java_util_Map__gqlv_input): rich_java_util_Map
+  rich_java_util_SortedMap(object: rich_java_util_SortedMap__gqlv_input): rich_java_util_SortedMap
+  rich_java_util_concurrent_Callable(object: rich_java_util_concurrent_Callable__gqlv_input): rich_java_util_concurrent_Callable
+  rich_java_util_function_BiFunction(object: rich_java_util_function_BiFunction__gqlv_input): rich_java_util_function_BiFunction
+  rich_java_util_function_Consumer(object: rich_java_util_function_Consumer__gqlv_input): rich_java_util_function_Consumer
+  rich_java_util_function_Function(object: rich_java_util_function_Function__gqlv_input): rich_java_util_function_Function
+  rich_java_util_stream_Stream(object: rich_java_util_stream_Stream__gqlv_input): rich_java_util_stream_Stream
+  rich_org_apache_causeway_core_metamodel_inspect_model_MMNode(object: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): rich_org_apache_causeway_core_metamodel_inspect_model_MMNode
+  rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode
+  rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
+  rich_university_admin_AdminMenu: rich_university_admin_AdminMenu
+  rich_university_calc_Calculator: rich_university_calc_Calculator
+  rich_university_dept_Department(object: rich_university_dept_Department__gqlv_input): rich_university_dept_Department
+  rich_university_dept_Departments: rich_university_dept_Departments
+  rich_university_dept_DeptHead(object: rich_university_dept_DeptHead__gqlv_input): rich_university_dept_DeptHead
+  rich_university_dept_DeptHeads: rich_university_dept_DeptHeads
+  rich_university_dept_People: rich_university_dept_People
+  rich_university_dept_Person(object: rich_university_dept_Person__gqlv_input): rich_university_dept_Person
+  rich_university_dept_Staff: rich_university_dept_Staff
+  rich_university_dept_StaffMember(object: rich_university_dept_StaffMember__gqlv_input): rich_university_dept_StaffMember
 }
 
 type Scenario {
@@ -133,113 +133,113 @@ type Scenario {
 }
 
 type ScenarioStep {
-  causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList
-  causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode
-  causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode
-  causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode
-  causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento
-  causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode
-  causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento
-  causeway_applib_UserMenu: causeway_applib_UserMenu
-  causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode
-  causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode
-  causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode
-  causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode
-  causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu
-  causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty
-  causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel
-  causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel
-  causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace
-  causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType
-  causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction
-  causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection
-  causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember
-  causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty
-  causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto
-  causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect
-  causeway_security_LogoutMenu: causeway_security_LogoutMenu
-  causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult
-  java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable
-  java_util_Map(object: java_util_Map__gqlv_input): java_util_Map
-  java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap
-  java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable
-  java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction
-  java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer
-  java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function
-  java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream
-  org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode
-  org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode
-  org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
-  university_admin_AdminMenu: university_admin_AdminMenu
-  university_calc_Calculator: university_calc_Calculator
-  university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department
-  university_dept_Departments: university_dept_Departments
-  university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead
-  university_dept_DeptHeads: university_dept_DeptHeads
-  university_dept_People: university_dept_People
-  university_dept_Person(object: university_dept_Person__gqlv_input): university_dept_Person
-  university_dept_Staff: university_dept_Staff
-  university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember
+  rich_causeway_applib_DomainObjectList(object: rich_causeway_applib_DomainObjectList__gqlv_input): rich_causeway_applib_DomainObjectList
+  rich_causeway_applib_FacetGroupNode(object: rich_causeway_applib_FacetGroupNode__gqlv_input): rich_causeway_applib_FacetGroupNode
+  rich_causeway_applib_ParameterNode(object: rich_causeway_applib_ParameterNode__gqlv_input): rich_causeway_applib_ParameterNode
+  rich_causeway_applib_PropertyNode(object: rich_causeway_applib_PropertyNode__gqlv_input): rich_causeway_applib_PropertyNode
+  rich_causeway_applib_RoleMemento(object: rich_causeway_applib_RoleMemento__gqlv_input): rich_causeway_applib_RoleMemento
+  rich_causeway_applib_TypeNode(object: rich_causeway_applib_TypeNode__gqlv_input): rich_causeway_applib_TypeNode
+  rich_causeway_applib_UserMemento(object: rich_causeway_applib_UserMemento__gqlv_input): rich_causeway_applib_UserMemento
+  rich_causeway_applib_UserMenu: rich_causeway_applib_UserMenu
+  rich_causeway_applib_node_ActionNode(object: rich_causeway_applib_node_ActionNode__gqlv_input): rich_causeway_applib_node_ActionNode
+  rich_causeway_applib_node_CollectionNode(object: rich_causeway_applib_node_CollectionNode__gqlv_input): rich_causeway_applib_node_CollectionNode
+  rich_causeway_applib_node_FacetAttrNode(object: rich_causeway_applib_node_FacetAttrNode__gqlv_input): rich_causeway_applib_node_FacetAttrNode
+  rich_causeway_applib_node_FacetNode(object: rich_causeway_applib_node_FacetNode__gqlv_input): rich_causeway_applib_node_FacetNode
+  rich_causeway_conf_ConfigurationMenu: rich_causeway_conf_ConfigurationMenu
+  rich_causeway_conf_ConfigurationProperty(object: rich_causeway_conf_ConfigurationProperty__gqlv_input): rich_causeway_conf_ConfigurationProperty
+  rich_causeway_conf_ConfigurationViewmodel(object: rich_causeway_conf_ConfigurationViewmodel__gqlv_input): rich_causeway_conf_ConfigurationViewmodel
+  rich_causeway_feat_ApplicationFeatureViewModel(object: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): rich_causeway_feat_ApplicationFeatureViewModel
+  rich_causeway_feat_ApplicationNamespace(object: rich_causeway_feat_ApplicationNamespace__gqlv_input): rich_causeway_feat_ApplicationNamespace
+  rich_causeway_feat_ApplicationType(object: rich_causeway_feat_ApplicationType__gqlv_input): rich_causeway_feat_ApplicationType
+  rich_causeway_feat_ApplicationTypeAction(object: rich_causeway_feat_ApplicationTypeAction__gqlv_input): rich_causeway_feat_ApplicationTypeAction
+  rich_causeway_feat_ApplicationTypeCollection(object: rich_causeway_feat_ApplicationTypeCollection__gqlv_input): rich_causeway_feat_ApplicationTypeCollection
+  rich_causeway_feat_ApplicationTypeMember(object: rich_causeway_feat_ApplicationTypeMember__gqlv_input): rich_causeway_feat_ApplicationTypeMember
+  rich_causeway_feat_ApplicationTypeProperty(object: rich_causeway_feat_ApplicationTypeProperty__gqlv_input): rich_causeway_feat_ApplicationTypeProperty
+  rich_causeway_schema_metamodel_v2_DomainClassDto(object: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): rich_causeway_schema_metamodel_v2_DomainClassDto
+  rich_causeway_security_LoginRedirect(object: rich_causeway_security_LoginRedirect__gqlv_input): rich_causeway_security_LoginRedirect
+  rich_causeway_security_LogoutMenu: rich_causeway_security_LogoutMenu
+  rich_causeway_testing_fixtures_FixtureResult(object: rich_causeway_testing_fixtures_FixtureResult__gqlv_input): rich_causeway_testing_fixtures_FixtureResult
+  rich_java_lang_Runnable(object: rich_java_lang_Runnable__gqlv_input): rich_java_lang_Runnable
+  rich_java_util_Map(object: rich_java_util_Map__gqlv_input): rich_java_util_Map
+  rich_java_util_SortedMap(object: rich_java_util_SortedMap__gqlv_input): rich_java_util_SortedMap
+  rich_java_util_concurrent_Callable(object: rich_java_util_concurrent_Callable__gqlv_input): rich_java_util_concurrent_Callable
+  rich_java_util_function_BiFunction(object: rich_java_util_function_BiFunction__gqlv_input): rich_java_util_function_BiFunction
+  rich_java_util_function_Consumer(object: rich_java_util_function_Consumer__gqlv_input): rich_java_util_function_Consumer
+  rich_java_util_function_Function(object: rich_java_util_function_Function__gqlv_input): rich_java_util_function_Function
+  rich_java_util_stream_Stream(object: rich_java_util_stream_Stream__gqlv_input): rich_java_util_stream_Stream
+  rich_org_apache_causeway_core_metamodel_inspect_model_MMNode(object: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): rich_org_apache_causeway_core_metamodel_inspect_model_MMNode
+  rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode
+  rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
+  rich_university_admin_AdminMenu: rich_university_admin_AdminMenu
+  rich_university_calc_Calculator: rich_university_calc_Calculator
+  rich_university_dept_Department(object: rich_university_dept_Department__gqlv_input): rich_university_dept_Department
+  rich_university_dept_Departments: rich_university_dept_Departments
+  rich_university_dept_DeptHead(object: rich_university_dept_DeptHead__gqlv_input): rich_university_dept_DeptHead
+  rich_university_dept_DeptHeads: rich_university_dept_DeptHeads
+  rich_university_dept_People: rich_university_dept_People
+  rich_university_dept_Person(object: rich_university_dept_Person__gqlv_input): rich_university_dept_Person
+  rich_university_dept_Staff: rich_university_dept_Staff
+  rich_university_dept_StaffMember(object: rich_university_dept_StaffMember__gqlv_input): rich_university_dept_StaffMember
 }
 
 type SimpleAndRich {
   rich: RichSchema
 }
 
-type causeway_applib_DomainObjectList {
+type rich_causeway_applib_DomainObjectList {
   "Object metadata"
-  _meta: causeway_applib_DomainObjectList__gqlv_meta
+  _meta: rich_causeway_applib_DomainObjectList__gqlv_meta
   "Action Arguments"
-  actionArguments: causeway_applib_DomainObjectList__actionArguments__gqlv_property
+  actionArguments: rich_causeway_applib_DomainObjectList__actionArguments__gqlv_property
   "Action Id"
-  actionId: causeway_applib_DomainObjectList__actionId__gqlv_property
+  actionId: rich_causeway_applib_DomainObjectList__actionId__gqlv_property
   "Action Owning Fqcn"
-  actionOwningFqcn: causeway_applib_DomainObjectList__actionOwningFqcn__gqlv_property
+  actionOwningFqcn: rich_causeway_applib_DomainObjectList__actionOwningFqcn__gqlv_property
   "Element Type Fqcn"
-  elementTypeFqcn: causeway_applib_DomainObjectList__elementTypeFqcn__gqlv_property
+  elementTypeFqcn: rich_causeway_applib_DomainObjectList__elementTypeFqcn__gqlv_property
   "Objects"
-  objects: causeway_applib_DomainObjectList__objects__gqlv_collection
+  objects: rich_causeway_applib_DomainObjectList__objects__gqlv_collection
   "Title"
-  title: causeway_applib_DomainObjectList__title__gqlv_property
+  title: rich_causeway_applib_DomainObjectList__title__gqlv_property
 }
 
-type causeway_applib_DomainObjectList__actionArguments__gqlv_property {
+type rich_causeway_applib_DomainObjectList__actionArguments__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(actionArguments: String): causeway_applib_DomainObjectList
+  set(actionArguments: String): rich_causeway_applib_DomainObjectList
   validate(actionArguments: String): String
 }
 
-type causeway_applib_DomainObjectList__actionId__gqlv_property {
+type rich_causeway_applib_DomainObjectList__actionId__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(actionId: String): causeway_applib_DomainObjectList
+  set(actionId: String): rich_causeway_applib_DomainObjectList
   validate(actionId: String): String
 }
 
-type causeway_applib_DomainObjectList__actionOwningFqcn__gqlv_property {
+type rich_causeway_applib_DomainObjectList__actionOwningFqcn__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(actionOwningFqcn: String): causeway_applib_DomainObjectList
+  set(actionOwningFqcn: String): rich_causeway_applib_DomainObjectList
   validate(actionOwningFqcn: String): String
 }
 
-type causeway_applib_DomainObjectList__elementTypeFqcn__gqlv_property {
+type rich_causeway_applib_DomainObjectList__elementTypeFqcn__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(elementTypeFqcn: String!): causeway_applib_DomainObjectList
+  set(elementTypeFqcn: String!): rich_causeway_applib_DomainObjectList
   validate(elementTypeFqcn: String): String
 }
 
-type causeway_applib_DomainObjectList__gqlv_meta {
+type rich_causeway_applib_DomainObjectList__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -250,48 +250,48 @@ type causeway_applib_DomainObjectList__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_DomainObjectList__objects__gqlv_collection {
+type rich_causeway_applib_DomainObjectList__objects__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_DomainObjectList__title__gqlv_property {
+type rich_causeway_applib_DomainObjectList__title__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(title: String!): causeway_applib_DomainObjectList
+  set(title: String!): rich_causeway_applib_DomainObjectList
   validate(title: String): String
 }
 
-type causeway_applib_FacetGroupNode {
+type rich_causeway_applib_FacetGroupNode {
   "Object metadata"
-  _meta: causeway_applib_FacetGroupNode__gqlv_meta
+  _meta: rich_causeway_applib_FacetGroupNode__gqlv_meta
   "Child Nodes"
-  childNodes: causeway_applib_FacetGroupNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_FacetGroupNode__childNodes__gqlv_collection
   "Facets"
-  facets: causeway_applib_FacetGroupNode__facets__gqlv_property
+  facets: rich_causeway_applib_FacetGroupNode__facets__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_FacetGroupNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_FacetGroupNode__parentNode__gqlv_property
 }
 
-type causeway_applib_FacetGroupNode__childNodes__gqlv_collection {
+type rich_causeway_applib_FacetGroupNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_FacetGroupNode__facets__gqlv_property {
+type rich_causeway_applib_FacetGroupNode__facets__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(facets: String!): causeway_applib_FacetGroupNode
+  set(facets: String!): rich_causeway_applib_FacetGroupNode
   validate(facets: String): String
 }
 
-type causeway_applib_FacetGroupNode__gqlv_meta {
+type rich_causeway_applib_FacetGroupNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -302,32 +302,32 @@ type causeway_applib_FacetGroupNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_FacetGroupNode__parentNode__gqlv_property {
+type rich_causeway_applib_FacetGroupNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): causeway_applib_FacetGroupNode
-  validate(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
+  set(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): rich_causeway_applib_FacetGroupNode
+  validate(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
 }
 
-type causeway_applib_ParameterNode {
+type rich_causeway_applib_ParameterNode {
   "Object metadata"
-  _meta: causeway_applib_ParameterNode__gqlv_meta
+  _meta: rich_causeway_applib_ParameterNode__gqlv_meta
   "Child Nodes"
-  childNodes: causeway_applib_ParameterNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_ParameterNode__childNodes__gqlv_collection
   "Parameter"
-  parameter: causeway_applib_ParameterNode__parameter__gqlv_property
+  parameter: rich_causeway_applib_ParameterNode__parameter__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_ParameterNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_ParameterNode__parentNode__gqlv_property
 }
 
-type causeway_applib_ParameterNode__childNodes__gqlv_collection {
+type rich_causeway_applib_ParameterNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_ParameterNode__gqlv_meta {
+type rich_causeway_applib_ParameterNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -338,44 +338,44 @@ type causeway_applib_ParameterNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_ParameterNode__parameter__gqlv_property {
+type rich_causeway_applib_ParameterNode__parameter__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(parameter: String!): causeway_applib_ParameterNode
+  set(parameter: String!): rich_causeway_applib_ParameterNode
   validate(parameter: String): String
 }
 
-type causeway_applib_ParameterNode__parentNode__gqlv_property {
+type rich_causeway_applib_ParameterNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: causeway_applib_node_ActionNode!
+  get: rich_causeway_applib_node_ActionNode!
   hidden: Boolean
-  set(parentNode: causeway_applib_node_ActionNode__gqlv_input!): causeway_applib_ParameterNode
-  validate(parentNode: causeway_applib_node_ActionNode__gqlv_input): String
+  set(parentNode: rich_causeway_applib_node_ActionNode__gqlv_input!): rich_causeway_applib_ParameterNode
+  validate(parentNode: rich_causeway_applib_node_ActionNode__gqlv_input): String
 }
 
-type causeway_applib_PropertyNode {
+type rich_causeway_applib_PropertyNode {
   "Object metadata"
-  _meta: causeway_applib_PropertyNode__gqlv_meta
+  _meta: rich_causeway_applib_PropertyNode__gqlv_meta
   "Child Nodes"
-  childNodes: causeway_applib_PropertyNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_PropertyNode__childNodes__gqlv_collection
   "Mixed In"
-  mixedIn: causeway_applib_PropertyNode__mixedIn__gqlv_property
+  mixedIn: rich_causeway_applib_PropertyNode__mixedIn__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_PropertyNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_PropertyNode__parentNode__gqlv_property
   "Property"
-  property: causeway_applib_PropertyNode__property__gqlv_property
+  property: rich_causeway_applib_PropertyNode__property__gqlv_property
 }
 
-type causeway_applib_PropertyNode__childNodes__gqlv_collection {
+type rich_causeway_applib_PropertyNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_PropertyNode__gqlv_meta {
+type rich_causeway_applib_PropertyNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -386,52 +386,52 @@ type causeway_applib_PropertyNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_PropertyNode__mixedIn__gqlv_property {
+type rich_causeway_applib_PropertyNode__mixedIn__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(mixedIn: Boolean!): causeway_applib_PropertyNode
+  set(mixedIn: Boolean!): rich_causeway_applib_PropertyNode
   validate(mixedIn: Boolean): String
 }
 
-type causeway_applib_PropertyNode__parentNode__gqlv_property {
+type rich_causeway_applib_PropertyNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: causeway_applib_TypeNode!
+  get: rich_causeway_applib_TypeNode!
   hidden: Boolean
-  set(parentNode: causeway_applib_TypeNode__gqlv_input!): causeway_applib_PropertyNode
-  validate(parentNode: causeway_applib_TypeNode__gqlv_input): String
+  set(parentNode: rich_causeway_applib_TypeNode__gqlv_input!): rich_causeway_applib_PropertyNode
+  validate(parentNode: rich_causeway_applib_TypeNode__gqlv_input): String
 }
 
-type causeway_applib_PropertyNode__property__gqlv_property {
+type rich_causeway_applib_PropertyNode__property__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(property: String!): causeway_applib_PropertyNode
+  set(property: String!): rich_causeway_applib_PropertyNode
   validate(property: String): String
 }
 
-type causeway_applib_RoleMemento {
+type rich_causeway_applib_RoleMemento {
   "Object metadata"
-  _meta: causeway_applib_RoleMemento__gqlv_meta
+  _meta: rich_causeway_applib_RoleMemento__gqlv_meta
   "Description"
-  description: causeway_applib_RoleMemento__description__gqlv_property
+  description: rich_causeway_applib_RoleMemento__description__gqlv_property
   "Name"
-  name: causeway_applib_RoleMemento__name__gqlv_property
+  name: rich_causeway_applib_RoleMemento__name__gqlv_property
 }
 
-type causeway_applib_RoleMemento__description__gqlv_property {
+type rich_causeway_applib_RoleMemento__description__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(description: String!): causeway_applib_RoleMemento
+  set(description: String!): rich_causeway_applib_RoleMemento
   validate(description: String): String
 }
 
-type causeway_applib_RoleMemento__gqlv_meta {
+type rich_causeway_applib_RoleMemento__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -442,42 +442,42 @@ type causeway_applib_RoleMemento__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_RoleMemento__name__gqlv_property {
+type rich_causeway_applib_RoleMemento__name__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(name: String!): causeway_applib_RoleMemento
+  set(name: String!): rich_causeway_applib_RoleMemento
   validate(name: String): String
 }
 
-type causeway_applib_TypeNode {
+type rich_causeway_applib_TypeNode {
   "Object metadata"
-  _meta: causeway_applib_TypeNode__gqlv_meta
+  _meta: rich_causeway_applib_TypeNode__gqlv_meta
   "Child Nodes"
-  childNodes: causeway_applib_TypeNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_TypeNode__childNodes__gqlv_collection
   "Domain Class Dto"
-  domainClassDto: causeway_applib_TypeNode__domainClassDto__gqlv_property
+  domainClassDto: rich_causeway_applib_TypeNode__domainClassDto__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_TypeNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_TypeNode__parentNode__gqlv_property
 }
 
-type causeway_applib_TypeNode__childNodes__gqlv_collection {
+type rich_causeway_applib_TypeNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_TypeNode__domainClassDto__gqlv_property {
+type rich_causeway_applib_TypeNode__domainClassDto__gqlv_property {
   datatype: String
   disabled: String
-  get: causeway_schema_metamodel_v2_DomainClassDto!
+  get: rich_causeway_schema_metamodel_v2_DomainClassDto!
   hidden: Boolean
-  set(domainClassDto: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input!): causeway_applib_TypeNode
-  validate(domainClassDto: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): String
+  set(domainClassDto: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input!): rich_causeway_applib_TypeNode
+  validate(domainClassDto: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): String
 }
 
-type causeway_applib_TypeNode__gqlv_meta {
+type rich_causeway_applib_TypeNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -488,70 +488,70 @@ type causeway_applib_TypeNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_TypeNode__parentNode__gqlv_property {
+type rich_causeway_applib_TypeNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): causeway_applib_TypeNode
-  validate(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
+  set(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): rich_causeway_applib_TypeNode
+  validate(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
 }
 
-type causeway_applib_UserMemento {
+type rich_causeway_applib_UserMemento {
   "Object metadata"
-  _meta: causeway_applib_UserMemento__gqlv_meta
+  _meta: rich_causeway_applib_UserMemento__gqlv_meta
   "Authentication Code"
-  authenticationCode: causeway_applib_UserMemento__authenticationCode__gqlv_property
+  authenticationCode: rich_causeway_applib_UserMemento__authenticationCode__gqlv_property
   "Authentication Source"
-  authenticationSource: causeway_applib_UserMemento__authenticationSource__gqlv_property
+  authenticationSource: rich_causeway_applib_UserMemento__authenticationSource__gqlv_property
   "Avatar Url"
-  avatarUrl: causeway_applib_UserMemento__avatarUrl__gqlv_property
+  avatarUrl: rich_causeway_applib_UserMemento__avatarUrl__gqlv_property
   "Impersonating"
-  impersonating: causeway_applib_UserMemento__impersonating__gqlv_property
+  impersonating: rich_causeway_applib_UserMemento__impersonating__gqlv_property
   "Language Locale"
-  languageLocale: causeway_applib_UserMemento__languageLocale__gqlv_property
+  languageLocale: rich_causeway_applib_UserMemento__languageLocale__gqlv_property
   "Multi Tenancy Token"
-  multiTenancyToken: causeway_applib_UserMemento__multiTenancyToken__gqlv_property
+  multiTenancyToken: rich_causeway_applib_UserMemento__multiTenancyToken__gqlv_property
   "Name"
-  name: causeway_applib_UserMemento__name__gqlv_property
+  name: rich_causeway_applib_UserMemento__name__gqlv_property
   "Number Format Locale"
-  numberFormatLocale: causeway_applib_UserMemento__numberFormatLocale__gqlv_property
+  numberFormatLocale: rich_causeway_applib_UserMemento__numberFormatLocale__gqlv_property
   "Real Name"
-  realName: causeway_applib_UserMemento__realName__gqlv_property
+  realName: rich_causeway_applib_UserMemento__realName__gqlv_property
   "Roles"
-  roles: causeway_applib_UserMemento__roles__gqlv_collection
+  roles: rich_causeway_applib_UserMemento__roles__gqlv_collection
   "Time Format Locale"
-  timeFormatLocale: causeway_applib_UserMemento__timeFormatLocale__gqlv_property
+  timeFormatLocale: rich_causeway_applib_UserMemento__timeFormatLocale__gqlv_property
 }
 
-type causeway_applib_UserMemento__authenticationCode__gqlv_property {
+type rich_causeway_applib_UserMemento__authenticationCode__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(authenticationCode: String!): causeway_applib_UserMemento
+  set(authenticationCode: String!): rich_causeway_applib_UserMemento
   validate(authenticationCode: String): String
 }
 
-type causeway_applib_UserMemento__authenticationSource__gqlv_property {
-  choices(authenticationSource: org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum): [org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum]
+type rich_causeway_applib_UserMemento__authenticationSource__gqlv_property {
+  choices(authenticationSource: rich_org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum): [rich_org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum]
   datatype: String
   disabled: String
-  get: org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum!
+  get: rich_org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum!
   hidden: Boolean
-  set(authenticationSource: org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum!): causeway_applib_UserMemento
-  validate(authenticationSource: org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum): String
+  set(authenticationSource: rich_org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum!): rich_causeway_applib_UserMemento
+  validate(authenticationSource: rich_org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum): String
 }
 
-type causeway_applib_UserMemento__avatarUrl__gqlv_property {
+type rich_causeway_applib_UserMemento__avatarUrl__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(avatarUrl: String): causeway_applib_UserMemento
+  set(avatarUrl: String): rich_causeway_applib_UserMemento
   validate(avatarUrl: String): String
 }
 
-type causeway_applib_UserMemento__gqlv_meta {
+type rich_causeway_applib_UserMemento__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -562,122 +562,122 @@ type causeway_applib_UserMemento__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_UserMemento__impersonating__gqlv_property {
+type rich_causeway_applib_UserMemento__impersonating__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(impersonating: Boolean!): causeway_applib_UserMemento
+  set(impersonating: Boolean!): rich_causeway_applib_UserMemento
   validate(impersonating: Boolean): String
 }
 
-type causeway_applib_UserMemento__languageLocale__gqlv_property {
+type rich_causeway_applib_UserMemento__languageLocale__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(languageLocale: String): causeway_applib_UserMemento
+  set(languageLocale: String): rich_causeway_applib_UserMemento
   validate(languageLocale: String): String
 }
 
-type causeway_applib_UserMemento__multiTenancyToken__gqlv_property {
+type rich_causeway_applib_UserMemento__multiTenancyToken__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(multiTenancyToken: String): causeway_applib_UserMemento
+  set(multiTenancyToken: String): rich_causeway_applib_UserMemento
   validate(multiTenancyToken: String): String
 }
 
-type causeway_applib_UserMemento__name__gqlv_property {
+type rich_causeway_applib_UserMemento__name__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(name: String!): causeway_applib_UserMemento
+  set(name: String!): rich_causeway_applib_UserMemento
   validate(name: String): String
 }
 
-type causeway_applib_UserMemento__numberFormatLocale__gqlv_property {
+type rich_causeway_applib_UserMemento__numberFormatLocale__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(numberFormatLocale: String): causeway_applib_UserMemento
+  set(numberFormatLocale: String): rich_causeway_applib_UserMemento
   validate(numberFormatLocale: String): String
 }
 
-type causeway_applib_UserMemento__realName__gqlv_property {
+type rich_causeway_applib_UserMemento__realName__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(realName: String): causeway_applib_UserMemento
+  set(realName: String): rich_causeway_applib_UserMemento
   validate(realName: String): String
 }
 
-type causeway_applib_UserMemento__roles__gqlv_collection {
+type rich_causeway_applib_UserMemento__roles__gqlv_collection {
   datatype: String
   disabled: String
-  get: [causeway_applib_RoleMemento]
+  get: [rich_causeway_applib_RoleMemento]
   hidden: Boolean
 }
 
-type causeway_applib_UserMemento__timeFormatLocale__gqlv_property {
+type rich_causeway_applib_UserMemento__timeFormatLocale__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(timeFormatLocale: String): causeway_applib_UserMemento
+  set(timeFormatLocale: String): rich_causeway_applib_UserMemento
   validate(timeFormatLocale: String): String
 }
 
-type causeway_applib_UserMenu {
+type rich_causeway_applib_UserMenu {
   "Returns your user account details"
-  me: causeway_applib_UserMenu__me__gqlv_action
+  me: rich_causeway_applib_UserMenu__me__gqlv_action
 }
 
 "Returns your user account details"
-type causeway_applib_UserMenu__me__gqlv_action {
+type rich_causeway_applib_UserMenu__me__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: causeway_applib_UserMenu__me__gqlv_action_invoke
+  invoke: rich_causeway_applib_UserMenu__me__gqlv_action_invoke
   validate: String
 }
 
-type causeway_applib_UserMenu__me__gqlv_action_invoke {
-  results: causeway_applib_UserMemento
+type rich_causeway_applib_UserMenu__me__gqlv_action_invoke {
+  results: rich_causeway_applib_UserMemento
 }
 
-type causeway_applib_node_ActionNode {
+type rich_causeway_applib_node_ActionNode {
   "Object metadata"
-  _meta: causeway_applib_node_ActionNode__gqlv_meta
+  _meta: rich_causeway_applib_node_ActionNode__gqlv_meta
   "Action"
-  action: causeway_applib_node_ActionNode__action__gqlv_property
+  action: rich_causeway_applib_node_ActionNode__action__gqlv_property
   "Child Nodes"
-  childNodes: causeway_applib_node_ActionNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_node_ActionNode__childNodes__gqlv_collection
   "Mixed In"
-  mixedIn: causeway_applib_node_ActionNode__mixedIn__gqlv_property
+  mixedIn: rich_causeway_applib_node_ActionNode__mixedIn__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_node_ActionNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_node_ActionNode__parentNode__gqlv_property
 }
 
-type causeway_applib_node_ActionNode__action__gqlv_property {
+type rich_causeway_applib_node_ActionNode__action__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(action: String!): causeway_applib_node_ActionNode
+  set(action: String!): rich_causeway_applib_node_ActionNode
   validate(action: String): String
 }
 
-type causeway_applib_node_ActionNode__childNodes__gqlv_collection {
+type rich_causeway_applib_node_ActionNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_node_ActionNode__gqlv_meta {
+type rich_causeway_applib_node_ActionNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -688,53 +688,53 @@ type causeway_applib_node_ActionNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_node_ActionNode__mixedIn__gqlv_property {
+type rich_causeway_applib_node_ActionNode__mixedIn__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(mixedIn: Boolean!): causeway_applib_node_ActionNode
+  set(mixedIn: Boolean!): rich_causeway_applib_node_ActionNode
   validate(mixedIn: Boolean): String
 }
 
-type causeway_applib_node_ActionNode__parentNode__gqlv_property {
+type rich_causeway_applib_node_ActionNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: causeway_applib_TypeNode!
+  get: rich_causeway_applib_TypeNode!
   hidden: Boolean
-  set(parentNode: causeway_applib_TypeNode__gqlv_input!): causeway_applib_node_ActionNode
-  validate(parentNode: causeway_applib_TypeNode__gqlv_input): String
+  set(parentNode: rich_causeway_applib_TypeNode__gqlv_input!): rich_causeway_applib_node_ActionNode
+  validate(parentNode: rich_causeway_applib_TypeNode__gqlv_input): String
 }
 
-type causeway_applib_node_CollectionNode {
+type rich_causeway_applib_node_CollectionNode {
   "Object metadata"
-  _meta: causeway_applib_node_CollectionNode__gqlv_meta
+  _meta: rich_causeway_applib_node_CollectionNode__gqlv_meta
   "Child Nodes"
-  childNodes: causeway_applib_node_CollectionNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_node_CollectionNode__childNodes__gqlv_collection
   "Collection"
-  collection: causeway_applib_node_CollectionNode__collection__gqlv_property
+  collection: rich_causeway_applib_node_CollectionNode__collection__gqlv_property
   "Mixed In"
-  mixedIn: causeway_applib_node_CollectionNode__mixedIn__gqlv_property
+  mixedIn: rich_causeway_applib_node_CollectionNode__mixedIn__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_node_CollectionNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_node_CollectionNode__parentNode__gqlv_property
 }
 
-type causeway_applib_node_CollectionNode__childNodes__gqlv_collection {
+type rich_causeway_applib_node_CollectionNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_node_CollectionNode__collection__gqlv_property {
+type rich_causeway_applib_node_CollectionNode__collection__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(collection: String!): causeway_applib_node_CollectionNode
+  set(collection: String!): rich_causeway_applib_node_CollectionNode
   validate(collection: String): String
 }
 
-type causeway_applib_node_CollectionNode__gqlv_meta {
+type rich_causeway_applib_node_CollectionNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -745,51 +745,51 @@ type causeway_applib_node_CollectionNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_node_CollectionNode__mixedIn__gqlv_property {
+type rich_causeway_applib_node_CollectionNode__mixedIn__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(mixedIn: Boolean!): causeway_applib_node_CollectionNode
+  set(mixedIn: Boolean!): rich_causeway_applib_node_CollectionNode
   validate(mixedIn: Boolean): String
 }
 
-type causeway_applib_node_CollectionNode__parentNode__gqlv_property {
+type rich_causeway_applib_node_CollectionNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: causeway_applib_TypeNode!
+  get: rich_causeway_applib_TypeNode!
   hidden: Boolean
-  set(parentNode: causeway_applib_TypeNode__gqlv_input!): causeway_applib_node_CollectionNode
-  validate(parentNode: causeway_applib_TypeNode__gqlv_input): String
+  set(parentNode: rich_causeway_applib_TypeNode__gqlv_input!): rich_causeway_applib_node_CollectionNode
+  validate(parentNode: rich_causeway_applib_TypeNode__gqlv_input): String
 }
 
-type causeway_applib_node_FacetAttrNode {
+type rich_causeway_applib_node_FacetAttrNode {
   "Object metadata"
-  _meta: causeway_applib_node_FacetAttrNode__gqlv_meta
+  _meta: rich_causeway_applib_node_FacetAttrNode__gqlv_meta
   "Child Nodes"
-  childNodes: causeway_applib_node_FacetAttrNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_node_FacetAttrNode__childNodes__gqlv_collection
   "Facet Attr"
-  facetAttr: causeway_applib_node_FacetAttrNode__facetAttr__gqlv_property
+  facetAttr: rich_causeway_applib_node_FacetAttrNode__facetAttr__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_node_FacetAttrNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_node_FacetAttrNode__parentNode__gqlv_property
 }
 
-type causeway_applib_node_FacetAttrNode__childNodes__gqlv_collection {
+type rich_causeway_applib_node_FacetAttrNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_node_FacetAttrNode__facetAttr__gqlv_property {
+type rich_causeway_applib_node_FacetAttrNode__facetAttr__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(facetAttr: String!): causeway_applib_node_FacetAttrNode
+  set(facetAttr: String!): rich_causeway_applib_node_FacetAttrNode
   validate(facetAttr: String): String
 }
 
-type causeway_applib_node_FacetAttrNode__gqlv_meta {
+type rich_causeway_applib_node_FacetAttrNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -800,44 +800,44 @@ type causeway_applib_node_FacetAttrNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_node_FacetAttrNode__parentNode__gqlv_property {
+type rich_causeway_applib_node_FacetAttrNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: causeway_applib_node_FacetNode!
+  get: rich_causeway_applib_node_FacetNode!
   hidden: Boolean
-  set(parentNode: causeway_applib_node_FacetNode__gqlv_input!): causeway_applib_node_FacetAttrNode
-  validate(parentNode: causeway_applib_node_FacetNode__gqlv_input): String
+  set(parentNode: rich_causeway_applib_node_FacetNode__gqlv_input!): rich_causeway_applib_node_FacetAttrNode
+  validate(parentNode: rich_causeway_applib_node_FacetNode__gqlv_input): String
 }
 
-type causeway_applib_node_FacetNode {
+type rich_causeway_applib_node_FacetNode {
   "Object metadata"
-  _meta: causeway_applib_node_FacetNode__gqlv_meta
+  _meta: rich_causeway_applib_node_FacetNode__gqlv_meta
   "Child Nodes"
-  childNodes: causeway_applib_node_FacetNode__childNodes__gqlv_collection
+  childNodes: rich_causeway_applib_node_FacetNode__childNodes__gqlv_collection
   "Facet"
-  facet: causeway_applib_node_FacetNode__facet__gqlv_property
+  facet: rich_causeway_applib_node_FacetNode__facet__gqlv_property
   "Parent Node"
-  parentNode: causeway_applib_node_FacetNode__parentNode__gqlv_property
+  parentNode: rich_causeway_applib_node_FacetNode__parentNode__gqlv_property
   "Shadowed"
-  shadowed: causeway_applib_node_FacetNode__shadowed__gqlv_property
+  shadowed: rich_causeway_applib_node_FacetNode__shadowed__gqlv_property
 }
 
-type causeway_applib_node_FacetNode__childNodes__gqlv_collection {
+type rich_causeway_applib_node_FacetNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_applib_node_FacetNode__facet__gqlv_property {
+type rich_causeway_applib_node_FacetNode__facet__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(facet: String!): causeway_applib_node_FacetNode
+  set(facet: String!): rich_causeway_applib_node_FacetNode
   validate(facet: String): String
 }
 
-type causeway_applib_node_FacetNode__gqlv_meta {
+type rich_causeway_applib_node_FacetNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -848,49 +848,49 @@ type causeway_applib_node_FacetNode__gqlv_meta {
   title: String!
 }
 
-type causeway_applib_node_FacetNode__parentNode__gqlv_property {
+type rich_causeway_applib_node_FacetNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): causeway_applib_node_FacetNode
-  validate(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
+  set(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): rich_causeway_applib_node_FacetNode
+  validate(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
 }
 
-type causeway_applib_node_FacetNode__shadowed__gqlv_property {
+type rich_causeway_applib_node_FacetNode__shadowed__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(shadowed: Boolean!): causeway_applib_node_FacetNode
+  set(shadowed: Boolean!): rich_causeway_applib_node_FacetNode
   validate(shadowed: Boolean): String
 }
 
-type causeway_conf_ConfigurationMenu {
+type rich_causeway_conf_ConfigurationMenu {
   "Configuration"
-  configuration: causeway_conf_ConfigurationMenu__configuration__gqlv_action
+  configuration: rich_causeway_conf_ConfigurationMenu__configuration__gqlv_action
 }
 
-type causeway_conf_ConfigurationMenu__configuration__gqlv_action {
+type rich_causeway_conf_ConfigurationMenu__configuration__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: causeway_conf_ConfigurationMenu__configuration__gqlv_action_invoke
+  invoke: rich_causeway_conf_ConfigurationMenu__configuration__gqlv_action_invoke
   validate: String
 }
 
-type causeway_conf_ConfigurationMenu__configuration__gqlv_action_invoke {
-  results: causeway_conf_ConfigurationViewmodel
+type rich_causeway_conf_ConfigurationMenu__configuration__gqlv_action_invoke {
+  results: rich_causeway_conf_ConfigurationViewmodel
 }
 
-type causeway_conf_ConfigurationProperty {
+type rich_causeway_conf_ConfigurationProperty {
   "Object metadata"
-  _meta: causeway_conf_ConfigurationProperty__gqlv_meta
+  _meta: rich_causeway_conf_ConfigurationProperty__gqlv_meta
   "Key"
-  key: causeway_conf_ConfigurationProperty__key__gqlv_property
+  key: rich_causeway_conf_ConfigurationProperty__key__gqlv_property
   "Value"
-  value: causeway_conf_ConfigurationProperty__value__gqlv_property
+  value: rich_causeway_conf_ConfigurationProperty__value__gqlv_property
 }
 
-type causeway_conf_ConfigurationProperty__gqlv_meta {
+type rich_causeway_conf_ConfigurationProperty__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -901,43 +901,43 @@ type causeway_conf_ConfigurationProperty__gqlv_meta {
   title: String!
 }
 
-type causeway_conf_ConfigurationProperty__key__gqlv_property {
+type rich_causeway_conf_ConfigurationProperty__key__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(key: String!): causeway_conf_ConfigurationProperty
+  set(key: String!): rich_causeway_conf_ConfigurationProperty
   validate(key: String): String
 }
 
-type causeway_conf_ConfigurationProperty__value__gqlv_property {
+type rich_causeway_conf_ConfigurationProperty__value__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(value: String!): causeway_conf_ConfigurationProperty
+  set(value: String!): rich_causeway_conf_ConfigurationProperty
   validate(value: String): String
 }
 
-type causeway_conf_ConfigurationViewmodel {
+type rich_causeway_conf_ConfigurationViewmodel {
   "Object metadata"
-  _meta: causeway_conf_ConfigurationViewmodel__gqlv_meta
+  _meta: rich_causeway_conf_ConfigurationViewmodel__gqlv_meta
   "Environment"
-  environment: causeway_conf_ConfigurationViewmodel__environment__gqlv_collection
+  environment: rich_causeway_conf_ConfigurationViewmodel__environment__gqlv_collection
   "Primary"
-  primary: causeway_conf_ConfigurationViewmodel__primary__gqlv_collection
+  primary: rich_causeway_conf_ConfigurationViewmodel__primary__gqlv_collection
   "Secondary"
-  secondary: causeway_conf_ConfigurationViewmodel__secondary__gqlv_collection
+  secondary: rich_causeway_conf_ConfigurationViewmodel__secondary__gqlv_collection
 }
 
-type causeway_conf_ConfigurationViewmodel__environment__gqlv_collection {
+type rich_causeway_conf_ConfigurationViewmodel__environment__gqlv_collection {
   datatype: String
   disabled: String
-  get: [causeway_conf_ConfigurationProperty]
+  get: [rich_causeway_conf_ConfigurationProperty]
   hidden: Boolean
 }
 
-type causeway_conf_ConfigurationViewmodel__gqlv_meta {
+type rich_causeway_conf_ConfigurationViewmodel__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -948,34 +948,34 @@ type causeway_conf_ConfigurationViewmodel__gqlv_meta {
   title: String!
 }
 
-type causeway_conf_ConfigurationViewmodel__primary__gqlv_collection {
+type rich_causeway_conf_ConfigurationViewmodel__primary__gqlv_collection {
   datatype: String
   disabled: String
-  get: [causeway_conf_ConfigurationProperty]
+  get: [rich_causeway_conf_ConfigurationProperty]
   hidden: Boolean
 }
 
-type causeway_conf_ConfigurationViewmodel__secondary__gqlv_collection {
+type rich_causeway_conf_ConfigurationViewmodel__secondary__gqlv_collection {
   datatype: String
   disabled: String
-  get: [causeway_conf_ConfigurationProperty]
+  get: [rich_causeway_conf_ConfigurationProperty]
   hidden: Boolean
 }
 
-type causeway_feat_ApplicationFeatureViewModel {
+type rich_causeway_feat_ApplicationFeatureViewModel {
   "Object metadata"
-  _meta: causeway_feat_ApplicationFeatureViewModel__gqlv_meta
+  _meta: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_meta
   "Member Name"
-  memberName: causeway_feat_ApplicationFeatureViewModel__memberName__gqlv_property
+  memberName: rich_causeway_feat_ApplicationFeatureViewModel__memberName__gqlv_property
   "Namespace Name"
-  namespaceName: causeway_feat_ApplicationFeatureViewModel__namespaceName__gqlv_property
+  namespaceName: rich_causeway_feat_ApplicationFeatureViewModel__namespaceName__gqlv_property
   "Parent"
-  parent: causeway_feat_ApplicationFeatureViewModel__parent__gqlv_property
+  parent: rich_causeway_feat_ApplicationFeatureViewModel__parent__gqlv_property
   "Type Simple Name"
-  typeSimpleName: causeway_feat_ApplicationFeatureViewModel__typeSimpleName__gqlv_property
+  typeSimpleName: rich_causeway_feat_ApplicationFeatureViewModel__typeSimpleName__gqlv_property
 }
 
-type causeway_feat_ApplicationFeatureViewModel__gqlv_meta {
+type rich_causeway_feat_ApplicationFeatureViewModel__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -986,63 +986,63 @@ type causeway_feat_ApplicationFeatureViewModel__gqlv_meta {
   title: String!
 }
 
-type causeway_feat_ApplicationFeatureViewModel__memberName__gqlv_property {
+type rich_causeway_feat_ApplicationFeatureViewModel__memberName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(memberName: String!): causeway_feat_ApplicationFeatureViewModel
+  set(memberName: String!): rich_causeway_feat_ApplicationFeatureViewModel
   validate(memberName: String): String
 }
 
-type causeway_feat_ApplicationFeatureViewModel__namespaceName__gqlv_property {
+type rich_causeway_feat_ApplicationFeatureViewModel__namespaceName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(namespaceName: String!): causeway_feat_ApplicationFeatureViewModel
+  set(namespaceName: String!): rich_causeway_feat_ApplicationFeatureViewModel
   validate(namespaceName: String): String
 }
 
-type causeway_feat_ApplicationFeatureViewModel__parent__gqlv_property {
+type rich_causeway_feat_ApplicationFeatureViewModel__parent__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input!): causeway_feat_ApplicationFeatureViewModel
-  validate(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
+  set(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input!): rich_causeway_feat_ApplicationFeatureViewModel
+  validate(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
 }
 
-type causeway_feat_ApplicationFeatureViewModel__typeSimpleName__gqlv_property {
+type rich_causeway_feat_ApplicationFeatureViewModel__typeSimpleName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(typeSimpleName: String!): causeway_feat_ApplicationFeatureViewModel
+  set(typeSimpleName: String!): rich_causeway_feat_ApplicationFeatureViewModel
   validate(typeSimpleName: String): String
 }
 
-type causeway_feat_ApplicationNamespace {
+type rich_causeway_feat_ApplicationNamespace {
   "Object metadata"
-  _meta: causeway_feat_ApplicationNamespace__gqlv_meta
+  _meta: rich_causeway_feat_ApplicationNamespace__gqlv_meta
   "Contents"
-  contents: causeway_feat_ApplicationNamespace__contents__gqlv_collection
+  contents: rich_causeway_feat_ApplicationNamespace__contents__gqlv_collection
   "Member Name"
-  memberName: causeway_feat_ApplicationNamespace__memberName__gqlv_property
+  memberName: rich_causeway_feat_ApplicationNamespace__memberName__gqlv_property
   "Namespace Name"
-  namespaceName: causeway_feat_ApplicationNamespace__namespaceName__gqlv_property
+  namespaceName: rich_causeway_feat_ApplicationNamespace__namespaceName__gqlv_property
   "Parent"
-  parent: causeway_feat_ApplicationNamespace__parent__gqlv_property
+  parent: rich_causeway_feat_ApplicationNamespace__parent__gqlv_property
   "Type Simple Name"
-  typeSimpleName: causeway_feat_ApplicationNamespace__typeSimpleName__gqlv_property
+  typeSimpleName: rich_causeway_feat_ApplicationNamespace__typeSimpleName__gqlv_property
 }
 
-type causeway_feat_ApplicationNamespace__contents__gqlv_collection {
+type rich_causeway_feat_ApplicationNamespace__contents__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type causeway_feat_ApplicationNamespace__gqlv_meta {
+type rich_causeway_feat_ApplicationNamespace__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1053,88 +1053,88 @@ type causeway_feat_ApplicationNamespace__gqlv_meta {
   title: String!
 }
 
-type causeway_feat_ApplicationNamespace__memberName__gqlv_property {
+type rich_causeway_feat_ApplicationNamespace__memberName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(memberName: String!): causeway_feat_ApplicationNamespace
+  set(memberName: String!): rich_causeway_feat_ApplicationNamespace
   validate(memberName: String): String
 }
 
-type causeway_feat_ApplicationNamespace__namespaceName__gqlv_property {
+type rich_causeway_feat_ApplicationNamespace__namespaceName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(namespaceName: String!): causeway_feat_ApplicationNamespace
+  set(namespaceName: String!): rich_causeway_feat_ApplicationNamespace
   validate(namespaceName: String): String
 }
 
-type causeway_feat_ApplicationNamespace__parent__gqlv_property {
+type rich_causeway_feat_ApplicationNamespace__parent__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input!): causeway_feat_ApplicationNamespace
-  validate(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
+  set(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input!): rich_causeway_feat_ApplicationNamespace
+  validate(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
 }
 
-type causeway_feat_ApplicationNamespace__typeSimpleName__gqlv_property {
+type rich_causeway_feat_ApplicationNamespace__typeSimpleName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(typeSimpleName: String!): causeway_feat_ApplicationNamespace
+  set(typeSimpleName: String!): rich_causeway_feat_ApplicationNamespace
   validate(typeSimpleName: String): String
 }
 
-type causeway_feat_ApplicationType {
+type rich_causeway_feat_ApplicationType {
   "Object metadata"
-  _meta: causeway_feat_ApplicationType__gqlv_meta
+  _meta: rich_causeway_feat_ApplicationType__gqlv_meta
   "Actions"
-  actions: causeway_feat_ApplicationType__actions__gqlv_collection
+  actions: rich_causeway_feat_ApplicationType__actions__gqlv_collection
   "Collections"
-  collections: causeway_feat_ApplicationType__collections__gqlv_collection
+  collections: rich_causeway_feat_ApplicationType__collections__gqlv_collection
   "Member Name"
-  memberName: causeway_feat_ApplicationType__memberName__gqlv_property
+  memberName: rich_causeway_feat_ApplicationType__memberName__gqlv_property
   "Namespace Name"
-  namespaceName: causeway_feat_ApplicationType__namespaceName__gqlv_property
+  namespaceName: rich_causeway_feat_ApplicationType__namespaceName__gqlv_property
   "Parent"
-  parent: causeway_feat_ApplicationType__parent__gqlv_property
+  parent: rich_causeway_feat_ApplicationType__parent__gqlv_property
   "Properties"
-  properties: causeway_feat_ApplicationType__properties__gqlv_collection
+  properties: rich_causeway_feat_ApplicationType__properties__gqlv_collection
   "Type Simple Name"
-  typeSimpleName: causeway_feat_ApplicationType__typeSimpleName__gqlv_property
+  typeSimpleName: rich_causeway_feat_ApplicationType__typeSimpleName__gqlv_property
 }
 
-type causeway_feat_ApplicationTypeAction {
+type rich_causeway_feat_ApplicationTypeAction {
   "Object metadata"
-  _meta: causeway_feat_ApplicationTypeAction__gqlv_meta
+  _meta: rich_causeway_feat_ApplicationTypeAction__gqlv_meta
   "Action Semantics"
-  actionSemantics: causeway_feat_ApplicationTypeAction__actionSemantics__gqlv_property
+  actionSemantics: rich_causeway_feat_ApplicationTypeAction__actionSemantics__gqlv_property
   "Member Name"
-  memberName: causeway_feat_ApplicationTypeAction__memberName__gqlv_property
+  memberName: rich_causeway_feat_ApplicationTypeAction__memberName__gqlv_property
   "Namespace Name"
-  namespaceName: causeway_feat_ApplicationTypeAction__namespaceName__gqlv_property
+  namespaceName: rich_causeway_feat_ApplicationTypeAction__namespaceName__gqlv_property
   "Parent"
-  parent: causeway_feat_ApplicationTypeAction__parent__gqlv_property
+  parent: rich_causeway_feat_ApplicationTypeAction__parent__gqlv_property
   "Return Type"
-  returnType: causeway_feat_ApplicationTypeAction__returnType__gqlv_property
+  returnType: rich_causeway_feat_ApplicationTypeAction__returnType__gqlv_property
   "Type Simple Name"
-  typeSimpleName: causeway_feat_ApplicationTypeAction__typeSimpleName__gqlv_property
+  typeSimpleName: rich_causeway_feat_ApplicationTypeAction__typeSimpleName__gqlv_property
 }
 
-type causeway_feat_ApplicationTypeAction__actionSemantics__gqlv_property {
-  choices(actionSemantics: causeway_applib_annotation_SemanticsOf__gqlv_enum): [causeway_applib_annotation_SemanticsOf__gqlv_enum]
+type rich_causeway_feat_ApplicationTypeAction__actionSemantics__gqlv_property {
+  choices(actionSemantics: rich_causeway_applib_annotation_SemanticsOf__gqlv_enum): [rich_causeway_applib_annotation_SemanticsOf__gqlv_enum]
   datatype: String
   disabled: String
-  get: causeway_applib_annotation_SemanticsOf__gqlv_enum!
+  get: rich_causeway_applib_annotation_SemanticsOf__gqlv_enum!
   hidden: Boolean
-  set(actionSemantics: causeway_applib_annotation_SemanticsOf__gqlv_enum!): causeway_feat_ApplicationTypeAction
-  validate(actionSemantics: causeway_applib_annotation_SemanticsOf__gqlv_enum): String
+  set(actionSemantics: rich_causeway_applib_annotation_SemanticsOf__gqlv_enum!): rich_causeway_feat_ApplicationTypeAction
+  validate(actionSemantics: rich_causeway_applib_annotation_SemanticsOf__gqlv_enum): String
 }
 
-type causeway_feat_ApplicationTypeAction__gqlv_meta {
+type rich_causeway_feat_ApplicationTypeAction__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1145,86 +1145,86 @@ type causeway_feat_ApplicationTypeAction__gqlv_meta {
   title: String!
 }
 
-type causeway_feat_ApplicationTypeAction__memberName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeAction__memberName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(memberName: String!): causeway_feat_ApplicationTypeAction
+  set(memberName: String!): rich_causeway_feat_ApplicationTypeAction
   validate(memberName: String): String
 }
 
-type causeway_feat_ApplicationTypeAction__namespaceName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeAction__namespaceName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(namespaceName: String!): causeway_feat_ApplicationTypeAction
+  set(namespaceName: String!): rich_causeway_feat_ApplicationTypeAction
   validate(namespaceName: String): String
 }
 
-type causeway_feat_ApplicationTypeAction__parent__gqlv_property {
+type rich_causeway_feat_ApplicationTypeAction__parent__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input!): causeway_feat_ApplicationTypeAction
-  validate(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
+  set(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input!): rich_causeway_feat_ApplicationTypeAction
+  validate(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
 }
 
-type causeway_feat_ApplicationTypeAction__returnType__gqlv_property {
+type rich_causeway_feat_ApplicationTypeAction__returnType__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(returnType: String!): causeway_feat_ApplicationTypeAction
+  set(returnType: String!): rich_causeway_feat_ApplicationTypeAction
   validate(returnType: String): String
 }
 
-type causeway_feat_ApplicationTypeAction__typeSimpleName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeAction__typeSimpleName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(typeSimpleName: String!): causeway_feat_ApplicationTypeAction
+  set(typeSimpleName: String!): rich_causeway_feat_ApplicationTypeAction
   validate(typeSimpleName: String): String
 }
 
-type causeway_feat_ApplicationTypeCollection {
+type rich_causeway_feat_ApplicationTypeCollection {
   "Object metadata"
-  _meta: causeway_feat_ApplicationTypeCollection__gqlv_meta
+  _meta: rich_causeway_feat_ApplicationTypeCollection__gqlv_meta
   "Derived"
-  derived: causeway_feat_ApplicationTypeCollection__derived__gqlv_property
+  derived: rich_causeway_feat_ApplicationTypeCollection__derived__gqlv_property
   "Element Type"
-  elementType: causeway_feat_ApplicationTypeCollection__elementType__gqlv_property
+  elementType: rich_causeway_feat_ApplicationTypeCollection__elementType__gqlv_property
   "Member Name"
-  memberName: causeway_feat_ApplicationTypeCollection__memberName__gqlv_property
+  memberName: rich_causeway_feat_ApplicationTypeCollection__memberName__gqlv_property
   "Namespace Name"
-  namespaceName: causeway_feat_ApplicationTypeCollection__namespaceName__gqlv_property
+  namespaceName: rich_causeway_feat_ApplicationTypeCollection__namespaceName__gqlv_property
   "Parent"
-  parent: causeway_feat_ApplicationTypeCollection__parent__gqlv_property
+  parent: rich_causeway_feat_ApplicationTypeCollection__parent__gqlv_property
   "Type Simple Name"
-  typeSimpleName: causeway_feat_ApplicationTypeCollection__typeSimpleName__gqlv_property
+  typeSimpleName: rich_causeway_feat_ApplicationTypeCollection__typeSimpleName__gqlv_property
 }
 
-type causeway_feat_ApplicationTypeCollection__derived__gqlv_property {
+type rich_causeway_feat_ApplicationTypeCollection__derived__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(derived: Boolean!): causeway_feat_ApplicationTypeCollection
+  set(derived: Boolean!): rich_causeway_feat_ApplicationTypeCollection
   validate(derived: Boolean): String
 }
 
-type causeway_feat_ApplicationTypeCollection__elementType__gqlv_property {
+type rich_causeway_feat_ApplicationTypeCollection__elementType__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(elementType: String!): causeway_feat_ApplicationTypeCollection
+  set(elementType: String!): rich_causeway_feat_ApplicationTypeCollection
   validate(elementType: String): String
 }
 
-type causeway_feat_ApplicationTypeCollection__gqlv_meta {
+type rich_causeway_feat_ApplicationTypeCollection__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1235,55 +1235,55 @@ type causeway_feat_ApplicationTypeCollection__gqlv_meta {
   title: String!
 }
 
-type causeway_feat_ApplicationTypeCollection__memberName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeCollection__memberName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(memberName: String!): causeway_feat_ApplicationTypeCollection
+  set(memberName: String!): rich_causeway_feat_ApplicationTypeCollection
   validate(memberName: String): String
 }
 
-type causeway_feat_ApplicationTypeCollection__namespaceName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeCollection__namespaceName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(namespaceName: String!): causeway_feat_ApplicationTypeCollection
+  set(namespaceName: String!): rich_causeway_feat_ApplicationTypeCollection
   validate(namespaceName: String): String
 }
 
-type causeway_feat_ApplicationTypeCollection__parent__gqlv_property {
+type rich_causeway_feat_ApplicationTypeCollection__parent__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input!): causeway_feat_ApplicationTypeCollection
-  validate(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
+  set(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input!): rich_causeway_feat_ApplicationTypeCollection
+  validate(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
 }
 
-type causeway_feat_ApplicationTypeCollection__typeSimpleName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeCollection__typeSimpleName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(typeSimpleName: String!): causeway_feat_ApplicationTypeCollection
+  set(typeSimpleName: String!): rich_causeway_feat_ApplicationTypeCollection
   validate(typeSimpleName: String): String
 }
 
-type causeway_feat_ApplicationTypeMember {
+type rich_causeway_feat_ApplicationTypeMember {
   "Object metadata"
-  _meta: causeway_feat_ApplicationTypeMember__gqlv_meta
+  _meta: rich_causeway_feat_ApplicationTypeMember__gqlv_meta
   "Member Name"
-  memberName: causeway_feat_ApplicationTypeMember__memberName__gqlv_property
+  memberName: rich_causeway_feat_ApplicationTypeMember__memberName__gqlv_property
   "Namespace Name"
-  namespaceName: causeway_feat_ApplicationTypeMember__namespaceName__gqlv_property
+  namespaceName: rich_causeway_feat_ApplicationTypeMember__namespaceName__gqlv_property
   "Parent"
-  parent: causeway_feat_ApplicationTypeMember__parent__gqlv_property
+  parent: rich_causeway_feat_ApplicationTypeMember__parent__gqlv_property
   "Type Simple Name"
-  typeSimpleName: causeway_feat_ApplicationTypeMember__typeSimpleName__gqlv_property
+  typeSimpleName: rich_causeway_feat_ApplicationTypeMember__typeSimpleName__gqlv_property
 }
 
-type causeway_feat_ApplicationTypeMember__gqlv_meta {
+type rich_causeway_feat_ApplicationTypeMember__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1294,72 +1294,72 @@ type causeway_feat_ApplicationTypeMember__gqlv_meta {
   title: String!
 }
 
-type causeway_feat_ApplicationTypeMember__memberName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeMember__memberName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(memberName: String!): causeway_feat_ApplicationTypeMember
+  set(memberName: String!): rich_causeway_feat_ApplicationTypeMember
   validate(memberName: String): String
 }
 
-type causeway_feat_ApplicationTypeMember__namespaceName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeMember__namespaceName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(namespaceName: String!): causeway_feat_ApplicationTypeMember
+  set(namespaceName: String!): rich_causeway_feat_ApplicationTypeMember
   validate(namespaceName: String): String
 }
 
-type causeway_feat_ApplicationTypeMember__parent__gqlv_property {
+type rich_causeway_feat_ApplicationTypeMember__parent__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input!): causeway_feat_ApplicationTypeMember
-  validate(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
+  set(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input!): rich_causeway_feat_ApplicationTypeMember
+  validate(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
 }
 
-type causeway_feat_ApplicationTypeMember__typeSimpleName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeMember__typeSimpleName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(typeSimpleName: String!): causeway_feat_ApplicationTypeMember
+  set(typeSimpleName: String!): rich_causeway_feat_ApplicationTypeMember
   validate(typeSimpleName: String): String
 }
 
-type causeway_feat_ApplicationTypeProperty {
+type rich_causeway_feat_ApplicationTypeProperty {
   "Object metadata"
-  _meta: causeway_feat_ApplicationTypeProperty__gqlv_meta
+  _meta: rich_causeway_feat_ApplicationTypeProperty__gqlv_meta
   "Derived"
-  derived: causeway_feat_ApplicationTypeProperty__derived__gqlv_property
+  derived: rich_causeway_feat_ApplicationTypeProperty__derived__gqlv_property
   "Max Length"
-  maxLength: causeway_feat_ApplicationTypeProperty__maxLength__gqlv_property
+  maxLength: rich_causeway_feat_ApplicationTypeProperty__maxLength__gqlv_property
   "Member Name"
-  memberName: causeway_feat_ApplicationTypeProperty__memberName__gqlv_property
+  memberName: rich_causeway_feat_ApplicationTypeProperty__memberName__gqlv_property
   "Namespace Name"
-  namespaceName: causeway_feat_ApplicationTypeProperty__namespaceName__gqlv_property
+  namespaceName: rich_causeway_feat_ApplicationTypeProperty__namespaceName__gqlv_property
   "Parent"
-  parent: causeway_feat_ApplicationTypeProperty__parent__gqlv_property
+  parent: rich_causeway_feat_ApplicationTypeProperty__parent__gqlv_property
   "Return Type"
-  returnType: causeway_feat_ApplicationTypeProperty__returnType__gqlv_property
+  returnType: rich_causeway_feat_ApplicationTypeProperty__returnType__gqlv_property
   "Type Simple Name"
-  typeSimpleName: causeway_feat_ApplicationTypeProperty__typeSimpleName__gqlv_property
+  typeSimpleName: rich_causeway_feat_ApplicationTypeProperty__typeSimpleName__gqlv_property
   "Typical Length"
-  typicalLength: causeway_feat_ApplicationTypeProperty__typicalLength__gqlv_property
+  typicalLength: rich_causeway_feat_ApplicationTypeProperty__typicalLength__gqlv_property
 }
 
-type causeway_feat_ApplicationTypeProperty__derived__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__derived__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(derived: Boolean!): causeway_feat_ApplicationTypeProperty
+  set(derived: Boolean!): rich_causeway_feat_ApplicationTypeProperty
   validate(derived: Boolean): String
 }
 
-type causeway_feat_ApplicationTypeProperty__gqlv_meta {
+type rich_causeway_feat_ApplicationTypeProperty__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1370,83 +1370,83 @@ type causeway_feat_ApplicationTypeProperty__gqlv_meta {
   title: String!
 }
 
-type causeway_feat_ApplicationTypeProperty__maxLength__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__maxLength__gqlv_property {
   datatype: String
   disabled: String
   get: Int
   hidden: Boolean
-  set(maxLength: Int): causeway_feat_ApplicationTypeProperty
+  set(maxLength: Int): rich_causeway_feat_ApplicationTypeProperty
   validate(maxLength: Int): String
 }
 
-type causeway_feat_ApplicationTypeProperty__memberName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__memberName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(memberName: String!): causeway_feat_ApplicationTypeProperty
+  set(memberName: String!): rich_causeway_feat_ApplicationTypeProperty
   validate(memberName: String): String
 }
 
-type causeway_feat_ApplicationTypeProperty__namespaceName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__namespaceName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(namespaceName: String!): causeway_feat_ApplicationTypeProperty
+  set(namespaceName: String!): rich_causeway_feat_ApplicationTypeProperty
   validate(namespaceName: String): String
 }
 
-type causeway_feat_ApplicationTypeProperty__parent__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__parent__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input!): causeway_feat_ApplicationTypeProperty
-  validate(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
+  set(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input!): rich_causeway_feat_ApplicationTypeProperty
+  validate(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
 }
 
-type causeway_feat_ApplicationTypeProperty__returnType__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__returnType__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(returnType: String!): causeway_feat_ApplicationTypeProperty
+  set(returnType: String!): rich_causeway_feat_ApplicationTypeProperty
   validate(returnType: String): String
 }
 
-type causeway_feat_ApplicationTypeProperty__typeSimpleName__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__typeSimpleName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(typeSimpleName: String!): causeway_feat_ApplicationTypeProperty
+  set(typeSimpleName: String!): rich_causeway_feat_ApplicationTypeProperty
   validate(typeSimpleName: String): String
 }
 
-type causeway_feat_ApplicationTypeProperty__typicalLength__gqlv_property {
+type rich_causeway_feat_ApplicationTypeProperty__typicalLength__gqlv_property {
   datatype: String
   disabled: String
   get: Int
   hidden: Boolean
-  set(typicalLength: Int): causeway_feat_ApplicationTypeProperty
+  set(typicalLength: Int): rich_causeway_feat_ApplicationTypeProperty
   validate(typicalLength: Int): String
 }
 
-type causeway_feat_ApplicationType__actions__gqlv_collection {
+type rich_causeway_feat_ApplicationType__actions__gqlv_collection {
   datatype: String
   disabled: String
-  get: [causeway_feat_ApplicationTypeAction]
+  get: [rich_causeway_feat_ApplicationTypeAction]
   hidden: Boolean
 }
 
-type causeway_feat_ApplicationType__collections__gqlv_collection {
+type rich_causeway_feat_ApplicationType__collections__gqlv_collection {
   datatype: String
   disabled: String
-  get: [causeway_feat_ApplicationTypeCollection]
+  get: [rich_causeway_feat_ApplicationTypeCollection]
   hidden: Boolean
 }
 
-type causeway_feat_ApplicationType__gqlv_meta {
+type rich_causeway_feat_ApplicationType__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1457,108 +1457,108 @@ type causeway_feat_ApplicationType__gqlv_meta {
   title: String!
 }
 
-type causeway_feat_ApplicationType__memberName__gqlv_property {
+type rich_causeway_feat_ApplicationType__memberName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(memberName: String!): causeway_feat_ApplicationType
+  set(memberName: String!): rich_causeway_feat_ApplicationType
   validate(memberName: String): String
 }
 
-type causeway_feat_ApplicationType__namespaceName__gqlv_property {
+type rich_causeway_feat_ApplicationType__namespaceName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(namespaceName: String!): causeway_feat_ApplicationType
+  set(namespaceName: String!): rich_causeway_feat_ApplicationType
   validate(namespaceName: String): String
 }
 
-type causeway_feat_ApplicationType__parent__gqlv_property {
+type rich_causeway_feat_ApplicationType__parent__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input!): causeway_feat_ApplicationType
-  validate(parent: causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
+  set(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input!): rich_causeway_feat_ApplicationType
+  validate(parent: rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input): String
 }
 
-type causeway_feat_ApplicationType__properties__gqlv_collection {
+type rich_causeway_feat_ApplicationType__properties__gqlv_collection {
   datatype: String
   disabled: String
-  get: [causeway_feat_ApplicationTypeProperty]
+  get: [rich_causeway_feat_ApplicationTypeProperty]
   hidden: Boolean
 }
 
-type causeway_feat_ApplicationType__typeSimpleName__gqlv_property {
+type rich_causeway_feat_ApplicationType__typeSimpleName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(typeSimpleName: String!): causeway_feat_ApplicationType
+  set(typeSimpleName: String!): rich_causeway_feat_ApplicationType
   validate(typeSimpleName: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto {
+type rich_causeway_schema_metamodel_v2_DomainClassDto {
   "Object metadata"
-  _meta: causeway_schema_metamodel_v2_DomainClassDto__gqlv_meta
+  _meta: rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_meta
   "Actions"
-  actions: causeway_schema_metamodel_v2_DomainClassDto__actions__gqlv_property
+  actions: rich_causeway_schema_metamodel_v2_DomainClassDto__actions__gqlv_property
   "Annotations"
-  annotations: causeway_schema_metamodel_v2_DomainClassDto__annotations__gqlv_property
+  annotations: rich_causeway_schema_metamodel_v2_DomainClassDto__annotations__gqlv_property
   "Collections"
-  collections: causeway_schema_metamodel_v2_DomainClassDto__collections__gqlv_property
+  collections: rich_causeway_schema_metamodel_v2_DomainClassDto__collections__gqlv_property
   "Facets"
-  facets: causeway_schema_metamodel_v2_DomainClassDto__facets__gqlv_property
+  facets: rich_causeway_schema_metamodel_v2_DomainClassDto__facets__gqlv_property
   "Id"
-  id: causeway_schema_metamodel_v2_DomainClassDto__id__gqlv_property
+  id: rich_causeway_schema_metamodel_v2_DomainClassDto__id__gqlv_property
   "Major Version"
-  majorVersion: causeway_schema_metamodel_v2_DomainClassDto__majorVersion__gqlv_property
+  majorVersion: rich_causeway_schema_metamodel_v2_DomainClassDto__majorVersion__gqlv_property
   "Minor Version"
-  minorVersion: causeway_schema_metamodel_v2_DomainClassDto__minorVersion__gqlv_property
+  minorVersion: rich_causeway_schema_metamodel_v2_DomainClassDto__minorVersion__gqlv_property
   "Properties"
-  properties: causeway_schema_metamodel_v2_DomainClassDto__properties__gqlv_property
+  properties: rich_causeway_schema_metamodel_v2_DomainClassDto__properties__gqlv_property
   "Service"
-  service: causeway_schema_metamodel_v2_DomainClassDto__service__gqlv_property
+  service: rich_causeway_schema_metamodel_v2_DomainClassDto__service__gqlv_property
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__actions__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__actions__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(actions: String!): causeway_schema_metamodel_v2_DomainClassDto
+  set(actions: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(actions: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__annotations__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__annotations__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(annotations: String!): causeway_schema_metamodel_v2_DomainClassDto
+  set(annotations: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(annotations: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__collections__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__collections__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(collections: String!): causeway_schema_metamodel_v2_DomainClassDto
+  set(collections: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(collections: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__facets__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__facets__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(facets: String!): causeway_schema_metamodel_v2_DomainClassDto
+  set(facets: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(facets: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__gqlv_meta {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1569,57 +1569,57 @@ type causeway_schema_metamodel_v2_DomainClassDto__gqlv_meta {
   title: String!
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__id__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__id__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(id: String!): causeway_schema_metamodel_v2_DomainClassDto
+  set(id: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(id: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__majorVersion__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__majorVersion__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(majorVersion: String): causeway_schema_metamodel_v2_DomainClassDto
+  set(majorVersion: String): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(majorVersion: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__minorVersion__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__minorVersion__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(minorVersion: String): causeway_schema_metamodel_v2_DomainClassDto
+  set(minorVersion: String): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(minorVersion: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__properties__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__properties__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(properties: String!): causeway_schema_metamodel_v2_DomainClassDto
+  set(properties: String!): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(properties: String): String
 }
 
-type causeway_schema_metamodel_v2_DomainClassDto__service__gqlv_property {
+type rich_causeway_schema_metamodel_v2_DomainClassDto__service__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(service: Boolean!): causeway_schema_metamodel_v2_DomainClassDto
+  set(service: Boolean!): rich_causeway_schema_metamodel_v2_DomainClassDto
   validate(service: Boolean): String
 }
 
-type causeway_schema_metamodel_v2_FacetHolder {
+type rich_causeway_schema_metamodel_v2_FacetHolder {
   "Object metadata"
-  _meta: causeway_schema_metamodel_v2_FacetHolder__gqlv_meta
+  _meta: rich_causeway_schema_metamodel_v2_FacetHolder__gqlv_meta
 }
 
-type causeway_schema_metamodel_v2_FacetHolder__gqlv_meta {
+type rich_causeway_schema_metamodel_v2_FacetHolder__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1630,12 +1630,12 @@ type causeway_schema_metamodel_v2_FacetHolder__gqlv_meta {
   title: String!
 }
 
-type causeway_security_LoginRedirect {
+type rich_causeway_security_LoginRedirect {
   "Object metadata"
-  _meta: causeway_security_LoginRedirect__gqlv_meta
+  _meta: rich_causeway_security_LoginRedirect__gqlv_meta
 }
 
-type causeway_security_LoginRedirect__gqlv_meta {
+type rich_causeway_security_LoginRedirect__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1646,54 +1646,54 @@ type causeway_security_LoginRedirect__gqlv_meta {
   title: String!
 }
 
-type causeway_security_LogoutMenu {
+type rich_causeway_security_LogoutMenu {
   "Logout"
-  logout: causeway_security_LogoutMenu__logout__gqlv_action
+  logout: rich_causeway_security_LogoutMenu__logout__gqlv_action
 }
 
-type causeway_security_LogoutMenu__logout__gqlv_action {
+type rich_causeway_security_LogoutMenu__logout__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: causeway_security_LogoutMenu__logout__gqlv_action_invoke
+  invoke: rich_causeway_security_LogoutMenu__logout__gqlv_action_invoke
   validate: String
 }
 
-type causeway_security_LogoutMenu__logout__gqlv_action_invoke {
+type rich_causeway_security_LogoutMenu__logout__gqlv_action_invoke {
   results: String
 }
 
-type causeway_testing_fixtures_FixtureResult {
+type rich_causeway_testing_fixtures_FixtureResult {
   "Object metadata"
-  _meta: causeway_testing_fixtures_FixtureResult__gqlv_meta
+  _meta: rich_causeway_testing_fixtures_FixtureResult__gqlv_meta
   "Result class"
-  className: causeway_testing_fixtures_FixtureResult__className__gqlv_property
+  className: rich_causeway_testing_fixtures_FixtureResult__className__gqlv_property
   "Fixture script"
-  fixtureScriptClassName: causeway_testing_fixtures_FixtureResult__fixtureScriptClassName__gqlv_property
+  fixtureScriptClassName: rich_causeway_testing_fixtures_FixtureResult__fixtureScriptClassName__gqlv_property
   "Key"
-  key: causeway_testing_fixtures_FixtureResult__key__gqlv_property
+  key: rich_causeway_testing_fixtures_FixtureResult__key__gqlv_property
   "Result"
-  object: causeway_testing_fixtures_FixtureResult__object__gqlv_property
+  object: rich_causeway_testing_fixtures_FixtureResult__object__gqlv_property
 }
 
-type causeway_testing_fixtures_FixtureResult__className__gqlv_property {
+type rich_causeway_testing_fixtures_FixtureResult__className__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(className: String!): causeway_testing_fixtures_FixtureResult
+  set(className: String!): rich_causeway_testing_fixtures_FixtureResult
   validate(className: String): String
 }
 
-type causeway_testing_fixtures_FixtureResult__fixtureScriptClassName__gqlv_property {
+type rich_causeway_testing_fixtures_FixtureResult__fixtureScriptClassName__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(fixtureScriptClassName: String): causeway_testing_fixtures_FixtureResult
+  set(fixtureScriptClassName: String): rich_causeway_testing_fixtures_FixtureResult
   validate(fixtureScriptClassName: String): String
 }
 
-type causeway_testing_fixtures_FixtureResult__gqlv_meta {
+type rich_causeway_testing_fixtures_FixtureResult__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1704,29 +1704,29 @@ type causeway_testing_fixtures_FixtureResult__gqlv_meta {
   title: String!
 }
 
-type causeway_testing_fixtures_FixtureResult__key__gqlv_property {
+type rich_causeway_testing_fixtures_FixtureResult__key__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(key: String!): causeway_testing_fixtures_FixtureResult
+  set(key: String!): rich_causeway_testing_fixtures_FixtureResult
   validate(key: String): String
 }
 
-type causeway_testing_fixtures_FixtureResult__object__gqlv_property {
+type rich_causeway_testing_fixtures_FixtureResult__object__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(object: String!): causeway_testing_fixtures_FixtureResult
+  set(object: String!): rich_causeway_testing_fixtures_FixtureResult
   validate(object: String): String
 }
 
-type java_lang_Runnable {
+type rich_java_lang_Runnable {
   "Object metadata"
-  _meta: java_lang_Runnable__gqlv_meta
+  _meta: rich_java_lang_Runnable__gqlv_meta
 }
 
-type java_lang_Runnable__gqlv_meta {
+type rich_java_lang_Runnable__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1737,12 +1737,12 @@ type java_lang_Runnable__gqlv_meta {
   title: String!
 }
 
-type java_util_Map {
+type rich_java_util_Map {
   "Object metadata"
-  _meta: java_util_Map__gqlv_meta
+  _meta: rich_java_util_Map__gqlv_meta
 }
 
-type java_util_Map__gqlv_meta {
+type rich_java_util_Map__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1753,12 +1753,12 @@ type java_util_Map__gqlv_meta {
   title: String!
 }
 
-type java_util_SortedMap {
+type rich_java_util_SortedMap {
   "Object metadata"
-  _meta: java_util_SortedMap__gqlv_meta
+  _meta: rich_java_util_SortedMap__gqlv_meta
 }
 
-type java_util_SortedMap__gqlv_meta {
+type rich_java_util_SortedMap__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1769,12 +1769,12 @@ type java_util_SortedMap__gqlv_meta {
   title: String!
 }
 
-type java_util_concurrent_Callable {
+type rich_java_util_concurrent_Callable {
   "Object metadata"
-  _meta: java_util_concurrent_Callable__gqlv_meta
+  _meta: rich_java_util_concurrent_Callable__gqlv_meta
 }
 
-type java_util_concurrent_Callable__gqlv_meta {
+type rich_java_util_concurrent_Callable__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1785,12 +1785,12 @@ type java_util_concurrent_Callable__gqlv_meta {
   title: String!
 }
 
-type java_util_function_BiFunction {
+type rich_java_util_function_BiFunction {
   "Object metadata"
-  _meta: java_util_function_BiFunction__gqlv_meta
+  _meta: rich_java_util_function_BiFunction__gqlv_meta
 }
 
-type java_util_function_BiFunction__gqlv_meta {
+type rich_java_util_function_BiFunction__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1801,12 +1801,12 @@ type java_util_function_BiFunction__gqlv_meta {
   title: String!
 }
 
-type java_util_function_Consumer {
+type rich_java_util_function_Consumer {
   "Object metadata"
-  _meta: java_util_function_Consumer__gqlv_meta
+  _meta: rich_java_util_function_Consumer__gqlv_meta
 }
 
-type java_util_function_Consumer__gqlv_meta {
+type rich_java_util_function_Consumer__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1817,12 +1817,12 @@ type java_util_function_Consumer__gqlv_meta {
   title: String!
 }
 
-type java_util_function_Function {
+type rich_java_util_function_Function {
   "Object metadata"
-  _meta: java_util_function_Function__gqlv_meta
+  _meta: rich_java_util_function_Function__gqlv_meta
 }
 
-type java_util_function_Function__gqlv_meta {
+type rich_java_util_function_Function__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1833,12 +1833,12 @@ type java_util_function_Function__gqlv_meta {
   title: String!
 }
 
-type java_util_stream_Stream {
+type rich_java_util_stream_Stream {
   "Object metadata"
-  _meta: java_util_stream_Stream__gqlv_meta
+  _meta: rich_java_util_stream_Stream__gqlv_meta
 }
 
-type java_util_stream_Stream__gqlv_meta {
+type rich_java_util_stream_Stream__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1849,22 +1849,22 @@ type java_util_stream_Stream__gqlv_meta {
   title: String!
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MMNode {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MMNode {
   "Object metadata"
-  _meta: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_meta
+  _meta: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_meta
   "Child Nodes"
-  childNodes: org_apache_causeway_core_metamodel_inspect_model_MMNode__childNodes__gqlv_collection
+  childNodes: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__childNodes__gqlv_collection
   "Parent Node"
-  parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__parentNode__gqlv_property
+  parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__parentNode__gqlv_property
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MMNode__childNodes__gqlv_collection {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_meta {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1875,32 +1875,32 @@ type org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_meta {
   title: String!
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MMNode__parentNode__gqlv_property {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
   hidden: Boolean
-  set(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): org_apache_causeway_core_metamodel_inspect_model_MMNode
-  validate(parentNode: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
+  set(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input!): rich_org_apache_causeway_core_metamodel_inspect_model_MMNode
+  validate(parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): String
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode {
   "Object metadata"
-  _meta: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_meta
+  _meta: rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_meta
   "Child Nodes"
-  childNodes: org_apache_causeway_core_metamodel_inspect_model_MemberNode__childNodes__gqlv_collection
+  childNodes: rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__childNodes__gqlv_collection
   "Mixed In"
-  mixedIn: org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedIn__gqlv_property
+  mixedIn: rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedIn__gqlv_property
   "Parent Node"
-  parentNode: org_apache_causeway_core_metamodel_inspect_model_MemberNode__parentNode__gqlv_property
+  parentNode: rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__parentNode__gqlv_property
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode__childNodes__gqlv_collection {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__childNodes__gqlv_collection {
   datatype: String
   disabled: String
   hidden: Boolean
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_meta {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1911,43 +1911,43 @@ type org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_meta {
   title: String!
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedIn__gqlv_property {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedIn__gqlv_property {
   datatype: String
   disabled: String
   get: Boolean!
   hidden: Boolean
-  set(mixedIn: Boolean!): org_apache_causeway_core_metamodel_inspect_model_MemberNode
+  set(mixedIn: Boolean!): rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode
   validate(mixedIn: Boolean): String
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode__parentNode__gqlv_property {
+type rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: causeway_applib_TypeNode!
+  get: rich_causeway_applib_TypeNode!
   hidden: Boolean
-  set(parentNode: causeway_applib_TypeNode__gqlv_input!): org_apache_causeway_core_metamodel_inspect_model_MemberNode
-  validate(parentNode: causeway_applib_TypeNode__gqlv_input): String
+  set(parentNode: rich_causeway_applib_TypeNode__gqlv_input!): rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode
+  validate(parentNode: rich_causeway_applib_TypeNode__gqlv_input): String
 }
 
-type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript {
+type rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript {
   "Object metadata"
-  _meta: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_meta
+  _meta: rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_meta
   "Friendly Name"
-  friendlyName: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__friendlyName__gqlv_property
+  friendlyName: rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__friendlyName__gqlv_property
   "Qualified Name"
-  qualifiedName: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__qualifiedName__gqlv_property
+  qualifiedName: rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__qualifiedName__gqlv_property
 }
 
-type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__friendlyName__gqlv_property {
+type rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__friendlyName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(friendlyName: String!): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
+  set(friendlyName: String!): rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
   validate(friendlyName: String): String
 }
 
-type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_meta {
+type rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -1958,1476 +1958,1476 @@ type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__g
   title: String!
 }
 
-type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__qualifiedName__gqlv_property {
+type rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__qualifiedName__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(qualifiedName: String!): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
+  set(qualifiedName: String!): rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
   validate(qualifiedName: String): String
 }
 
-type university_admin_AdminMenu {
+type rich_university_admin_AdminMenu {
   "Action With Disabled Param"
-  actionWithDisabledParam: university_admin_AdminMenu__actionWithDisabledParam__gqlv_action
+  actionWithDisabledParam: rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action
   "Action With Hidden Param"
-  actionWithHiddenParam: university_admin_AdminMenu__actionWithHiddenParam__gqlv_action
+  actionWithHiddenParam: rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action
   "Admin Action"
-  adminAction: university_admin_AdminMenu__adminAction__gqlv_action
+  adminAction: rich_university_admin_AdminMenu__adminAction__gqlv_action
   "Other Admin Action"
-  otherAdminAction: university_admin_AdminMenu__otherAdminAction__gqlv_action
+  otherAdminAction: rich_university_admin_AdminMenu__otherAdminAction__gqlv_action
 }
 
-type university_admin_AdminMenu__actionWithDisabledParam__firstParam__gqlv_action_parameter {
+type rich_university_admin_AdminMenu__actionWithDisabledParam__firstParam__gqlv_action_parameter {
   datatype: String
   disabled(firstParam: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_admin_AdminMenu__actionWithDisabledParam__gqlv_action {
+type rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent(firstParam: String!, secondParam: String!, thirdParameter: String!): university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_invoke
+  invokeNonIdempotent(firstParam: String!, secondParam: String!, thirdParameter: String!): rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_invoke
   "Parameters of this action"
-  params: university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_params
+  params: rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_params
   validate(firstParam: String, secondParam: String, thirdParameter: String): String
 }
 
-type university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_args {
+type rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_args {
   firstParam: String
   secondParam: String
   thirdParameter: String
 }
 
-type university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_invoke {
+type rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_args
+  args: rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_args
   results: String
 }
 
-type university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_params {
+type rich_university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_params {
   "First Param"
-  firstParam: university_admin_AdminMenu__actionWithDisabledParam__firstParam__gqlv_action_parameter
+  firstParam: rich_university_admin_AdminMenu__actionWithDisabledParam__firstParam__gqlv_action_parameter
   "Second Param"
-  secondParam: university_admin_AdminMenu__actionWithDisabledParam__secondParam__gqlv_action_parameter
+  secondParam: rich_university_admin_AdminMenu__actionWithDisabledParam__secondParam__gqlv_action_parameter
   "Third Parameter"
-  thirdParameter: university_admin_AdminMenu__actionWithDisabledParam__thirdParameter__gqlv_action_parameter
+  thirdParameter: rich_university_admin_AdminMenu__actionWithDisabledParam__thirdParameter__gqlv_action_parameter
 }
 
-type university_admin_AdminMenu__actionWithDisabledParam__secondParam__gqlv_action_parameter {
+type rich_university_admin_AdminMenu__actionWithDisabledParam__secondParam__gqlv_action_parameter {
   datatype: String
   disabled(firstParam: String, secondParam: String): String
   hidden(firstParam: String): Boolean
   validity: String
 }
 
-type university_admin_AdminMenu__actionWithDisabledParam__thirdParameter__gqlv_action_parameter {
+type rich_university_admin_AdminMenu__actionWithDisabledParam__thirdParameter__gqlv_action_parameter {
   datatype: String
   disabled(firstParam: String, secondParam: String, thirdParameter: String): String
   hidden(firstParam: String, secondParam: String): Boolean
   validity: String
 }
 
-type university_admin_AdminMenu__actionWithHiddenParam__firstParam__gqlv_action_parameter {
+type rich_university_admin_AdminMenu__actionWithHiddenParam__firstParam__gqlv_action_parameter {
   datatype: String
   disabled(firstParam: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_admin_AdminMenu__actionWithHiddenParam__gqlv_action {
+type rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent(firstParam: String!, secondParam: String!): university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_invoke
+  invokeNonIdempotent(firstParam: String!, secondParam: String!): rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_invoke
   "Parameters of this action"
-  params: university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_params
+  params: rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_params
   validate(firstParam: String, secondParam: String): String
 }
 
-type university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_args {
+type rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_args {
   firstParam: String
   secondParam: String
 }
 
-type university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_invoke {
+type rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_args
+  args: rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_args
   results: String
 }
 
-type university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_params {
+type rich_university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_params {
   "First Param"
-  firstParam: university_admin_AdminMenu__actionWithHiddenParam__firstParam__gqlv_action_parameter
+  firstParam: rich_university_admin_AdminMenu__actionWithHiddenParam__firstParam__gqlv_action_parameter
   "Second Param"
-  secondParam: university_admin_AdminMenu__actionWithHiddenParam__secondParam__gqlv_action_parameter
+  secondParam: rich_university_admin_AdminMenu__actionWithHiddenParam__secondParam__gqlv_action_parameter
 }
 
-type university_admin_AdminMenu__actionWithHiddenParam__secondParam__gqlv_action_parameter {
+type rich_university_admin_AdminMenu__actionWithHiddenParam__secondParam__gqlv_action_parameter {
   datatype: String
   disabled(firstParam: String, secondParam: String): String
   hidden(firstParam: String): Boolean
   validity: String
 }
 
-type university_admin_AdminMenu__adminAction__gqlv_action {
+type rich_university_admin_AdminMenu__adminAction__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent: university_admin_AdminMenu__adminAction__gqlv_action_invoke
+  invokeNonIdempotent: rich_university_admin_AdminMenu__adminAction__gqlv_action_invoke
   validate: String
 }
 
-type university_admin_AdminMenu__adminAction__gqlv_action_invoke {
+type rich_university_admin_AdminMenu__adminAction__gqlv_action_invoke {
   results: String
 }
 
-type university_admin_AdminMenu__otherAdminAction__gqlv_action {
+type rich_university_admin_AdminMenu__otherAdminAction__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent: university_admin_AdminMenu__otherAdminAction__gqlv_action_invoke
+  invokeNonIdempotent: rich_university_admin_AdminMenu__otherAdminAction__gqlv_action_invoke
   validate: String
 }
 
-type university_admin_AdminMenu__otherAdminAction__gqlv_action_invoke {
+type rich_university_admin_AdminMenu__otherAdminAction__gqlv_action_invoke {
   results: String
 }
 
-type university_calc_Calculator {
+type rich_university_calc_Calculator {
   "Add Big Decimals"
-  addBigDecimals: university_calc_Calculator__addBigDecimals__gqlv_action
+  addBigDecimals: rich_university_calc_Calculator__addBigDecimals__gqlv_action
   "Add Big Integers"
-  addBigIntegers: university_calc_Calculator__addBigIntegers__gqlv_action
+  addBigIntegers: rich_university_calc_Calculator__addBigIntegers__gqlv_action
   "Add Byte Wrappers"
-  addByteWrappers: university_calc_Calculator__addByteWrappers__gqlv_action
+  addByteWrappers: rich_university_calc_Calculator__addByteWrappers__gqlv_action
   "Add Bytes"
-  addBytes: university_calc_Calculator__addBytes__gqlv_action
+  addBytes: rich_university_calc_Calculator__addBytes__gqlv_action
   "Add Double Wrappers"
-  addDoubleWrappers: university_calc_Calculator__addDoubleWrappers__gqlv_action
+  addDoubleWrappers: rich_university_calc_Calculator__addDoubleWrappers__gqlv_action
   "Add Doubles"
-  addDoubles: university_calc_Calculator__addDoubles__gqlv_action
+  addDoubles: rich_university_calc_Calculator__addDoubles__gqlv_action
   "Add Float Wrappers"
-  addFloatWrappers: university_calc_Calculator__addFloatWrappers__gqlv_action
+  addFloatWrappers: rich_university_calc_Calculator__addFloatWrappers__gqlv_action
   "Add Floats"
-  addFloats: university_calc_Calculator__addFloats__gqlv_action
+  addFloats: rich_university_calc_Calculator__addFloats__gqlv_action
   "Add Integer Wrappers"
-  addIntegerWrappers: university_calc_Calculator__addIntegerWrappers__gqlv_action
+  addIntegerWrappers: rich_university_calc_Calculator__addIntegerWrappers__gqlv_action
   "Add Integers"
-  addIntegers: university_calc_Calculator__addIntegers__gqlv_action
+  addIntegers: rich_university_calc_Calculator__addIntegers__gqlv_action
   "Add Short Wrappers"
-  addShortWrappers: university_calc_Calculator__addShortWrappers__gqlv_action
+  addShortWrappers: rich_university_calc_Calculator__addShortWrappers__gqlv_action
   "Add Shorts"
-  addShorts: university_calc_Calculator__addShorts__gqlv_action
+  addShorts: rich_university_calc_Calculator__addShorts__gqlv_action
   "And"
-  and: university_calc_Calculator__and__gqlv_action
+  and: rich_university_calc_Calculator__and__gqlv_action
   "Concat"
-  concat: university_calc_Calculator__concat__gqlv_action
+  concat: rich_university_calc_Calculator__concat__gqlv_action
   "Jdk 8 Local Plus Days"
-  jdk8LocalPlusDays: university_calc_Calculator__jdk8LocalPlusDays__gqlv_action
+  jdk8LocalPlusDays: rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action
   "Jdk 8 Local Plus Hours And Minutes"
-  jdk8LocalPlusHoursAndMinutes: university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action
+  jdk8LocalPlusHoursAndMinutes: rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action
   "Jdk 8 Offset Plus Days And Hours And Minutes"
-  jdk8OffsetPlusDaysAndHoursAndMinutes: university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action
+  jdk8OffsetPlusDaysAndHoursAndMinutes: rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action
   "Jdk 8 Offset Plus Hours And Minutes"
-  jdk8OffsetPlusHoursAndMinutes: university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action
+  jdk8OffsetPlusHoursAndMinutes: rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action
   "Jdk 8 Zoned Plus Days And Hours And Minutes"
-  jdk8ZonedPlusDaysAndHoursAndMinutes: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action
+  jdk8ZonedPlusDaysAndHoursAndMinutes: rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action
   "Joda Local Plus Days"
-  jodaLocalPlusDays: university_calc_Calculator__jodaLocalPlusDays__gqlv_action
+  jodaLocalPlusDays: rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action
   "Joda Local Plus Hours And Minutes"
-  jodaLocalPlusHoursAndMinutes: university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action
+  jodaLocalPlusHoursAndMinutes: rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action
   "Joda Plus Days And Hours And Minutes"
-  jodaPlusDaysAndHoursAndMinutes: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action
+  jodaPlusDaysAndHoursAndMinutes: rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action
   "Next Month"
-  nextMonth: university_calc_Calculator__nextMonth__gqlv_action
+  nextMonth: rich_university_calc_Calculator__nextMonth__gqlv_action
   "Not"
-  not: university_calc_Calculator__not__gqlv_action
+  not: rich_university_calc_Calculator__not__gqlv_action
   "Or"
-  or: university_calc_Calculator__or__gqlv_action
+  or: rich_university_calc_Calculator__or__gqlv_action
   "Some Locale"
-  someLocale: university_calc_Calculator__someLocale__gqlv_action
+  someLocale: rich_university_calc_Calculator__someLocale__gqlv_action
   "Some Url"
-  someUrl: university_calc_Calculator__someUrl__gqlv_action
+  someUrl: rich_university_calc_Calculator__someUrl__gqlv_action
   "Some Uuid"
-  someUuid: university_calc_Calculator__someUuid__gqlv_action
+  someUuid: rich_university_calc_Calculator__someUuid__gqlv_action
 }
 
-type university_calc_Calculator__addBigDecimals__gqlv_action {
+type rich_university_calc_Calculator__addBigDecimals__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: String!, y: String): university_calc_Calculator__addBigDecimals__gqlv_action_invoke
+  invoke(x: String!, y: String): rich_university_calc_Calculator__addBigDecimals__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addBigDecimals__gqlv_action_params
+  params: rich_university_calc_Calculator__addBigDecimals__gqlv_action_params
   validate(x: String, y: String): String
 }
 
-type university_calc_Calculator__addBigDecimals__gqlv_action_args {
+type rich_university_calc_Calculator__addBigDecimals__gqlv_action_args {
   x: String
   y: String
 }
 
-type university_calc_Calculator__addBigDecimals__gqlv_action_invoke {
+type rich_university_calc_Calculator__addBigDecimals__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addBigDecimals__gqlv_action_args
+  args: rich_university_calc_Calculator__addBigDecimals__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__addBigDecimals__gqlv_action_params {
+type rich_university_calc_Calculator__addBigDecimals__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addBigDecimals__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addBigDecimals__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addBigDecimals__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addBigDecimals__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addBigDecimals__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addBigDecimals__x__gqlv_action_parameter {
   datatype: String
   disabled(x: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addBigDecimals__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addBigDecimals__y__gqlv_action_parameter {
   datatype: String
   disabled(x: String, y: String): String
   hidden(x: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addBigIntegers__gqlv_action {
+type rich_university_calc_Calculator__addBigIntegers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: String!, y: String): university_calc_Calculator__addBigIntegers__gqlv_action_invoke
+  invoke(x: String!, y: String): rich_university_calc_Calculator__addBigIntegers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addBigIntegers__gqlv_action_params
+  params: rich_university_calc_Calculator__addBigIntegers__gqlv_action_params
   validate(x: String, y: String): String
 }
 
-type university_calc_Calculator__addBigIntegers__gqlv_action_args {
+type rich_university_calc_Calculator__addBigIntegers__gqlv_action_args {
   x: String
   y: String
 }
 
-type university_calc_Calculator__addBigIntegers__gqlv_action_invoke {
+type rich_university_calc_Calculator__addBigIntegers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addBigIntegers__gqlv_action_args
+  args: rich_university_calc_Calculator__addBigIntegers__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__addBigIntegers__gqlv_action_params {
+type rich_university_calc_Calculator__addBigIntegers__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addBigIntegers__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addBigIntegers__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addBigIntegers__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addBigIntegers__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addBigIntegers__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addBigIntegers__x__gqlv_action_parameter {
   datatype: String
   disabled(x: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addBigIntegers__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addBigIntegers__y__gqlv_action_parameter {
   datatype: String
   disabled(x: String, y: String): String
   hidden(x: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addByteWrappers__gqlv_action {
+type rich_university_calc_Calculator__addByteWrappers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Byte!, y: Byte): university_calc_Calculator__addByteWrappers__gqlv_action_invoke
+  invoke(x: Byte!, y: Byte): rich_university_calc_Calculator__addByteWrappers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addByteWrappers__gqlv_action_params
+  params: rich_university_calc_Calculator__addByteWrappers__gqlv_action_params
   validate(x: Byte, y: Byte): String
 }
 
-type university_calc_Calculator__addByteWrappers__gqlv_action_args {
+type rich_university_calc_Calculator__addByteWrappers__gqlv_action_args {
   x: Byte
   y: Byte
 }
 
-type university_calc_Calculator__addByteWrappers__gqlv_action_invoke {
+type rich_university_calc_Calculator__addByteWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addByteWrappers__gqlv_action_args
+  args: rich_university_calc_Calculator__addByteWrappers__gqlv_action_args
   results: Int
 }
 
-type university_calc_Calculator__addByteWrappers__gqlv_action_params {
+type rich_university_calc_Calculator__addByteWrappers__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addByteWrappers__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addByteWrappers__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addByteWrappers__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addByteWrappers__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addByteWrappers__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addByteWrappers__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Byte): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addByteWrappers__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addByteWrappers__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Byte, y: Byte): String
   hidden(x: Byte): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addBytes__gqlv_action {
+type rich_university_calc_Calculator__addBytes__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Byte!, y: Byte!): university_calc_Calculator__addBytes__gqlv_action_invoke
+  invoke(x: Byte!, y: Byte!): rich_university_calc_Calculator__addBytes__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addBytes__gqlv_action_params
+  params: rich_university_calc_Calculator__addBytes__gqlv_action_params
   validate(x: Byte, y: Byte): String
 }
 
-type university_calc_Calculator__addBytes__gqlv_action_args {
+type rich_university_calc_Calculator__addBytes__gqlv_action_args {
   x: Byte
   y: Byte
 }
 
-type university_calc_Calculator__addBytes__gqlv_action_invoke {
+type rich_university_calc_Calculator__addBytes__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addBytes__gqlv_action_args
+  args: rich_university_calc_Calculator__addBytes__gqlv_action_args
   results: Byte
 }
 
-type university_calc_Calculator__addBytes__gqlv_action_params {
+type rich_university_calc_Calculator__addBytes__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addBytes__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addBytes__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addBytes__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addBytes__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addBytes__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addBytes__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Byte): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addBytes__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addBytes__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Byte, y: Byte): String
   hidden(x: Byte): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addDoubleWrappers__gqlv_action {
+type rich_university_calc_Calculator__addDoubleWrappers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Float!, y: Float): university_calc_Calculator__addDoubleWrappers__gqlv_action_invoke
+  invoke(x: Float!, y: Float): rich_university_calc_Calculator__addDoubleWrappers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addDoubleWrappers__gqlv_action_params
+  params: rich_university_calc_Calculator__addDoubleWrappers__gqlv_action_params
   validate(x: Float, y: Float): String
 }
 
-type university_calc_Calculator__addDoubleWrappers__gqlv_action_args {
+type rich_university_calc_Calculator__addDoubleWrappers__gqlv_action_args {
   x: Float
   y: Float
 }
 
-type university_calc_Calculator__addDoubleWrappers__gqlv_action_invoke {
+type rich_university_calc_Calculator__addDoubleWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addDoubleWrappers__gqlv_action_args
+  args: rich_university_calc_Calculator__addDoubleWrappers__gqlv_action_args
   results: Float
 }
 
-type university_calc_Calculator__addDoubleWrappers__gqlv_action_params {
+type rich_university_calc_Calculator__addDoubleWrappers__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addDoubleWrappers__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addDoubleWrappers__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addDoubleWrappers__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addDoubleWrappers__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addDoubleWrappers__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addDoubleWrappers__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Float): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addDoubleWrappers__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addDoubleWrappers__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Float, y: Float): String
   hidden(x: Float): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addDoubles__gqlv_action {
+type rich_university_calc_Calculator__addDoubles__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Float!, y: Float!): university_calc_Calculator__addDoubles__gqlv_action_invoke
+  invoke(x: Float!, y: Float!): rich_university_calc_Calculator__addDoubles__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addDoubles__gqlv_action_params
+  params: rich_university_calc_Calculator__addDoubles__gqlv_action_params
   validate(x: Float, y: Float): String
 }
 
-type university_calc_Calculator__addDoubles__gqlv_action_args {
+type rich_university_calc_Calculator__addDoubles__gqlv_action_args {
   x: Float
   y: Float
 }
 
-type university_calc_Calculator__addDoubles__gqlv_action_invoke {
+type rich_university_calc_Calculator__addDoubles__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addDoubles__gqlv_action_args
+  args: rich_university_calc_Calculator__addDoubles__gqlv_action_args
   results: Float
 }
 
-type university_calc_Calculator__addDoubles__gqlv_action_params {
+type rich_university_calc_Calculator__addDoubles__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addDoubles__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addDoubles__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addDoubles__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addDoubles__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addDoubles__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addDoubles__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Float): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addDoubles__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addDoubles__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Float, y: Float): String
   hidden(x: Float): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addFloatWrappers__gqlv_action {
+type rich_university_calc_Calculator__addFloatWrappers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Float!, y: Float): university_calc_Calculator__addFloatWrappers__gqlv_action_invoke
+  invoke(x: Float!, y: Float): rich_university_calc_Calculator__addFloatWrappers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addFloatWrappers__gqlv_action_params
+  params: rich_university_calc_Calculator__addFloatWrappers__gqlv_action_params
   validate(x: Float, y: Float): String
 }
 
-type university_calc_Calculator__addFloatWrappers__gqlv_action_args {
+type rich_university_calc_Calculator__addFloatWrappers__gqlv_action_args {
   x: Float
   y: Float
 }
 
-type university_calc_Calculator__addFloatWrappers__gqlv_action_invoke {
+type rich_university_calc_Calculator__addFloatWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addFloatWrappers__gqlv_action_args
+  args: rich_university_calc_Calculator__addFloatWrappers__gqlv_action_args
   results: Float
 }
 
-type university_calc_Calculator__addFloatWrappers__gqlv_action_params {
+type rich_university_calc_Calculator__addFloatWrappers__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addFloatWrappers__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addFloatWrappers__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addFloatWrappers__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addFloatWrappers__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addFloatWrappers__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addFloatWrappers__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Float): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addFloatWrappers__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addFloatWrappers__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Float, y: Float): String
   hidden(x: Float): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addFloats__gqlv_action {
+type rich_university_calc_Calculator__addFloats__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Float!, y: Float!): university_calc_Calculator__addFloats__gqlv_action_invoke
+  invoke(x: Float!, y: Float!): rich_university_calc_Calculator__addFloats__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addFloats__gqlv_action_params
+  params: rich_university_calc_Calculator__addFloats__gqlv_action_params
   validate(x: Float, y: Float): String
 }
 
-type university_calc_Calculator__addFloats__gqlv_action_args {
+type rich_university_calc_Calculator__addFloats__gqlv_action_args {
   x: Float
   y: Float
 }
 
-type university_calc_Calculator__addFloats__gqlv_action_invoke {
+type rich_university_calc_Calculator__addFloats__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addFloats__gqlv_action_args
+  args: rich_university_calc_Calculator__addFloats__gqlv_action_args
   results: Float
 }
 
-type university_calc_Calculator__addFloats__gqlv_action_params {
+type rich_university_calc_Calculator__addFloats__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addFloats__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addFloats__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addFloats__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addFloats__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addFloats__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addFloats__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Float): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addFloats__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addFloats__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Float, y: Float): String
   hidden(x: Float): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addIntegerWrappers__gqlv_action {
+type rich_university_calc_Calculator__addIntegerWrappers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Int!, y: Int): university_calc_Calculator__addIntegerWrappers__gqlv_action_invoke
+  invoke(x: Int!, y: Int): rich_university_calc_Calculator__addIntegerWrappers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addIntegerWrappers__gqlv_action_params
+  params: rich_university_calc_Calculator__addIntegerWrappers__gqlv_action_params
   validate(x: Int, y: Int): String
 }
 
-type university_calc_Calculator__addIntegerWrappers__gqlv_action_args {
+type rich_university_calc_Calculator__addIntegerWrappers__gqlv_action_args {
   x: Int
   y: Int
 }
 
-type university_calc_Calculator__addIntegerWrappers__gqlv_action_invoke {
+type rich_university_calc_Calculator__addIntegerWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addIntegerWrappers__gqlv_action_args
+  args: rich_university_calc_Calculator__addIntegerWrappers__gqlv_action_args
   results: Int
 }
 
-type university_calc_Calculator__addIntegerWrappers__gqlv_action_params {
+type rich_university_calc_Calculator__addIntegerWrappers__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addIntegerWrappers__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addIntegerWrappers__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addIntegerWrappers__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addIntegerWrappers__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addIntegerWrappers__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addIntegerWrappers__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Int): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addIntegerWrappers__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addIntegerWrappers__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Int, y: Int): String
   hidden(x: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addIntegers__gqlv_action {
+type rich_university_calc_Calculator__addIntegers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Int!, y: Int!): university_calc_Calculator__addIntegers__gqlv_action_invoke
+  invoke(x: Int!, y: Int!): rich_university_calc_Calculator__addIntegers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addIntegers__gqlv_action_params
+  params: rich_university_calc_Calculator__addIntegers__gqlv_action_params
   validate(x: Int, y: Int): String
 }
 
-type university_calc_Calculator__addIntegers__gqlv_action_args {
+type rich_university_calc_Calculator__addIntegers__gqlv_action_args {
   x: Int
   y: Int
 }
 
-type university_calc_Calculator__addIntegers__gqlv_action_invoke {
+type rich_university_calc_Calculator__addIntegers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addIntegers__gqlv_action_args
+  args: rich_university_calc_Calculator__addIntegers__gqlv_action_args
   results: Int
 }
 
-type university_calc_Calculator__addIntegers__gqlv_action_params {
+type rich_university_calc_Calculator__addIntegers__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addIntegers__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addIntegers__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addIntegers__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addIntegers__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addIntegers__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addIntegers__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Int): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addIntegers__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addIntegers__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Int, y: Int): String
   hidden(x: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addShortWrappers__gqlv_action {
+type rich_university_calc_Calculator__addShortWrappers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Short!, y: Short): university_calc_Calculator__addShortWrappers__gqlv_action_invoke
+  invoke(x: Short!, y: Short): rich_university_calc_Calculator__addShortWrappers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addShortWrappers__gqlv_action_params
+  params: rich_university_calc_Calculator__addShortWrappers__gqlv_action_params
   validate(x: Short, y: Short): String
 }
 
-type university_calc_Calculator__addShortWrappers__gqlv_action_args {
+type rich_university_calc_Calculator__addShortWrappers__gqlv_action_args {
   x: Short
   y: Short
 }
 
-type university_calc_Calculator__addShortWrappers__gqlv_action_invoke {
+type rich_university_calc_Calculator__addShortWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addShortWrappers__gqlv_action_args
+  args: rich_university_calc_Calculator__addShortWrappers__gqlv_action_args
   results: Short
 }
 
-type university_calc_Calculator__addShortWrappers__gqlv_action_params {
+type rich_university_calc_Calculator__addShortWrappers__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addShortWrappers__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addShortWrappers__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addShortWrappers__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addShortWrappers__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addShortWrappers__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addShortWrappers__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Short): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addShortWrappers__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addShortWrappers__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Short, y: Short): String
   hidden(x: Short): Boolean
   validity: String
 }
 
-type university_calc_Calculator__addShorts__gqlv_action {
+type rich_university_calc_Calculator__addShorts__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Short!, y: Short!): university_calc_Calculator__addShorts__gqlv_action_invoke
+  invoke(x: Short!, y: Short!): rich_university_calc_Calculator__addShorts__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__addShorts__gqlv_action_params
+  params: rich_university_calc_Calculator__addShorts__gqlv_action_params
   validate(x: Short, y: Short): String
 }
 
-type university_calc_Calculator__addShorts__gqlv_action_args {
+type rich_university_calc_Calculator__addShorts__gqlv_action_args {
   x: Short
   y: Short
 }
 
-type university_calc_Calculator__addShorts__gqlv_action_invoke {
+type rich_university_calc_Calculator__addShorts__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__addShorts__gqlv_action_args
+  args: rich_university_calc_Calculator__addShorts__gqlv_action_args
   results: Short
 }
 
-type university_calc_Calculator__addShorts__gqlv_action_params {
+type rich_university_calc_Calculator__addShorts__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__addShorts__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__addShorts__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__addShorts__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__addShorts__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__addShorts__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__addShorts__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Short): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__addShorts__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__addShorts__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Short, y: Short): String
   hidden(x: Short): Boolean
   validity: String
 }
 
-type university_calc_Calculator__and__gqlv_action {
+type rich_university_calc_Calculator__and__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Boolean!, y: Boolean!): university_calc_Calculator__and__gqlv_action_invoke
+  invoke(x: Boolean!, y: Boolean!): rich_university_calc_Calculator__and__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__and__gqlv_action_params
+  params: rich_university_calc_Calculator__and__gqlv_action_params
   validate(x: Boolean, y: Boolean): String
 }
 
-type university_calc_Calculator__and__gqlv_action_args {
+type rich_university_calc_Calculator__and__gqlv_action_args {
   x: Boolean
   y: Boolean
 }
 
-type university_calc_Calculator__and__gqlv_action_invoke {
+type rich_university_calc_Calculator__and__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__and__gqlv_action_args
+  args: rich_university_calc_Calculator__and__gqlv_action_args
   results: Boolean
 }
 
-type university_calc_Calculator__and__gqlv_action_params {
+type rich_university_calc_Calculator__and__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__and__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__and__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__and__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__and__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__and__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__and__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Boolean): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__and__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__and__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Boolean, y: Boolean): String
   hidden(x: Boolean): Boolean
   validity: String
 }
 
-type university_calc_Calculator__concat__gqlv_action {
+type rich_university_calc_Calculator__concat__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(prefix: String!, suffix: String): university_calc_Calculator__concat__gqlv_action_invoke
+  invoke(prefix: String!, suffix: String): rich_university_calc_Calculator__concat__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__concat__gqlv_action_params
+  params: rich_university_calc_Calculator__concat__gqlv_action_params
   validate(prefix: String, suffix: String): String
 }
 
-type university_calc_Calculator__concat__gqlv_action_args {
+type rich_university_calc_Calculator__concat__gqlv_action_args {
   prefix: String
   suffix: String
 }
 
-type university_calc_Calculator__concat__gqlv_action_invoke {
+type rich_university_calc_Calculator__concat__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__concat__gqlv_action_args
+  args: rich_university_calc_Calculator__concat__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__concat__gqlv_action_params {
+type rich_university_calc_Calculator__concat__gqlv_action_params {
   "Prefix"
-  prefix: university_calc_Calculator__concat__prefix__gqlv_action_parameter
+  prefix: rich_university_calc_Calculator__concat__prefix__gqlv_action_parameter
   "Suffix"
-  suffix: university_calc_Calculator__concat__suffix__gqlv_action_parameter
+  suffix: rich_university_calc_Calculator__concat__suffix__gqlv_action_parameter
 }
 
-type university_calc_Calculator__concat__prefix__gqlv_action_parameter {
+type rich_university_calc_Calculator__concat__prefix__gqlv_action_parameter {
   datatype: String
   disabled(prefix: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__concat__suffix__gqlv_action_parameter {
+type rich_university_calc_Calculator__concat__suffix__gqlv_action_parameter {
   datatype: String
   disabled(prefix: String, suffix: String): String
   hidden(prefix: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusDays__date__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8LocalPlusDays__date__gqlv_action_parameter {
   datatype: String
   disabled(date: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusDays__gqlv_action {
+type rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(date: String!, numDays: Int!): university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_invoke
+  invoke(date: String!, numDays: Int!): rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params
+  params: rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params
   validate(date: String, numDays: Int): String
 }
 
-type university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_args {
+type rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_args {
   date: String
   numDays: Int
 }
 
-type university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_invoke {
+type rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_args
+  args: rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params {
+type rich_university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params {
   "Date"
-  date: university_calc_Calculator__jdk8LocalPlusDays__date__gqlv_action_parameter
+  date: rich_university_calc_Calculator__jdk8LocalPlusDays__date__gqlv_action_parameter
   "Num Days"
-  numDays: university_calc_Calculator__jdk8LocalPlusDays__numDays__gqlv_action_parameter
+  numDays: rich_university_calc_Calculator__jdk8LocalPlusDays__numDays__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jdk8LocalPlusDays__numDays__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8LocalPlusDays__numDays__gqlv_action_parameter {
   datatype: String
   disabled(date: String, numDays: Int): String
   hidden(date: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action {
+type rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(numHours: Int!, numMinutes: Int!, time: String!): university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_invoke
+  invoke(numHours: Int!, numMinutes: Int!, time: String!): rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_params
+  params: rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_params
   validate(numHours: Int, numMinutes: Int, time: String): String
 }
 
-type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_args {
+type rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_args {
   numHours: Int
   numMinutes: Int
   time: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_invoke {
+type rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_args
+  args: rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_params {
+type rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_params {
   "Num Hours"
-  numHours: university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
+  numHours: rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
   "Num Minutes"
-  numMinutes: university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
+  numMinutes: rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
   "Time"
-  time: university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__time__gqlv_action_parameter
+  time: rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__time__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numHours__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numHours__gqlv_action_parameter {
   datatype: String
   disabled(numHours: Int, time: String): String
   hidden(time: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter {
   datatype: String
   disabled(numHours: Int, numMinutes: Int, time: String): String
   hidden(numHours: Int, time: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__time__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__time__gqlv_action_parameter {
   datatype: String
   disabled(time: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: DateTime): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(dateTime: DateTime!, numDays: Int!, numHours: Int!, numMinutes: Int!): university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_invoke
+  invoke(dateTime: DateTime!, numDays: Int!, numHours: Int!, numMinutes: Int!): rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_params
+  params: rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_params
   validate(dateTime: DateTime, numDays: Int, numHours: Int, numMinutes: Int): String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_args {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_args {
   dateTime: DateTime
   numDays: Int
   numHours: Int
   numMinutes: Int
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_invoke {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_args
+  args: rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_args
   results: DateTime
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_params {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_params {
   "Date Time"
-  dateTime: university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
+  dateTime: rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
   "Num Days"
-  numDays: university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
+  numDays: rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
   "Num Hours"
-  numHours: university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
+  numHours: rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
   "Num Minutes"
-  numMinutes: university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
+  numMinutes: rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: DateTime, numDays: Int): String
   hidden(dateTime: DateTime): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: DateTime, numDays: Int, numHours: Int): String
   hidden(dateTime: DateTime, numDays: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: DateTime, numDays: Int, numHours: Int, numMinutes: Int): String
   hidden(dateTime: DateTime, numDays: Int, numHours: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action {
+type rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(numHours: Int!, numMinutes: Int!, time: Time!): university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_invoke
+  invoke(numHours: Int!, numMinutes: Int!, time: Time!): rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_params
+  params: rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_params
   validate(numHours: Int, numMinutes: Int, time: Time): String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_args {
+type rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_args {
   numHours: Int
   numMinutes: Int
   time: Time
 }
 
-type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_invoke {
+type rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_args
+  args: rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_args
   results: Time
 }
 
-type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_params {
+type rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_params {
   "Num Hours"
-  numHours: university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numHours__gqlv_action_parameter
+  numHours: rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numHours__gqlv_action_parameter
   "Num Minutes"
-  numMinutes: university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
+  numMinutes: rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
   "Time"
-  time: university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__time__gqlv_action_parameter
+  time: rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__time__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numHours__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numHours__gqlv_action_parameter {
   datatype: String
   disabled(numHours: Int, time: Time): String
   hidden(time: Time): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numMinutes__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numMinutes__gqlv_action_parameter {
   datatype: String
   disabled(numHours: Int, numMinutes: Int, time: Time): String
   hidden(numHours: Int, time: Time): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__time__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__time__gqlv_action_parameter {
   datatype: String
   disabled(time: Time): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_invoke
+  invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params
+  params: rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params
   validate(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int): String
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_args {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_args {
   dateTime: String
   numDays: Int
   numHours: Int
   numMinutes: Int
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_invoke {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_args
+  args: rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params {
   "Date Time"
-  dateTime: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
+  dateTime: rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
   "Num Days"
-  numDays: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
+  numDays: rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
   "Num Hours"
-  numHours: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
+  numHours: rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
   "Num Minutes"
-  numMinutes: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
+  numMinutes: rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String, numDays: Int): String
   hidden(dateTime: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String, numDays: Int, numHours: Int): String
   hidden(dateTime: String, numDays: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter {
+type rich_university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int): String
   hidden(dateTime: String, numDays: Int, numHours: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaLocalPlusDays__date__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaLocalPlusDays__date__gqlv_action_parameter {
   datatype: String
   disabled(date: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaLocalPlusDays__gqlv_action {
+type rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(date: String!, numDays: Int!): university_calc_Calculator__jodaLocalPlusDays__gqlv_action_invoke
+  invoke(date: String!, numDays: Int!): rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params
+  params: rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params
   validate(date: String, numDays: Int): String
 }
 
-type university_calc_Calculator__jodaLocalPlusDays__gqlv_action_args {
+type rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action_args {
   date: String
   numDays: Int
 }
 
-type university_calc_Calculator__jodaLocalPlusDays__gqlv_action_invoke {
+type rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jodaLocalPlusDays__gqlv_action_args
+  args: rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params {
+type rich_university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params {
   "Date"
-  date: university_calc_Calculator__jodaLocalPlusDays__date__gqlv_action_parameter
+  date: rich_university_calc_Calculator__jodaLocalPlusDays__date__gqlv_action_parameter
   "Num Days"
-  numDays: university_calc_Calculator__jodaLocalPlusDays__numDays__gqlv_action_parameter
+  numDays: rich_university_calc_Calculator__jodaLocalPlusDays__numDays__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jodaLocalPlusDays__numDays__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaLocalPlusDays__numDays__gqlv_action_parameter {
   datatype: String
   disabled(date: String, numDays: Int): String
   hidden(date: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action {
+type rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(numHours: Int!, numMinutes: Int!, time: String!): university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_invoke
+  invoke(numHours: Int!, numMinutes: Int!, time: String!): rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_params
+  params: rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_params
   validate(numHours: Int, numMinutes: Int, time: String): String
 }
 
-type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_args {
+type rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_args {
   numHours: Int
   numMinutes: Int
   time: String
 }
 
-type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_invoke {
+type rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_args
+  args: rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_params {
+type rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_params {
   "Num Hours"
-  numHours: university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
+  numHours: rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
   "Num Minutes"
-  numMinutes: university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
+  numMinutes: rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
   "Time"
-  time: university_calc_Calculator__jodaLocalPlusHoursAndMinutes__time__gqlv_action_parameter
+  time: rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__time__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numHours__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numHours__gqlv_action_parameter {
   datatype: String
   disabled(numHours: Int, time: String): String
   hidden(time: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter {
   datatype: String
   disabled(numHours: Int, numMinutes: Int, time: String): String
   hidden(numHours: Int, time: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__time__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaLocalPlusHoursAndMinutes__time__gqlv_action_parameter {
   datatype: String
   disabled(time: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_invoke
+  invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params
+  params: rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params
   validate(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int): String
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_args {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_args {
   dateTime: String
   numDays: Int
   numHours: Int
   numMinutes: Int
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_invoke {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_args
+  args: rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_args
   results: String
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params {
   "Date Time"
-  dateTime: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
+  dateTime: rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
   "Num Days"
-  numDays: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
+  numDays: rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
   "Num Hours"
-  numHours: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
+  numHours: rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
   "Num Minutes"
-  numMinutes: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
+  numMinutes: rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String, numDays: Int): String
   hidden(dateTime: String): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String, numDays: Int, numHours: Int): String
   hidden(dateTime: String, numDays: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter {
+type rich_university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter {
   datatype: String
   disabled(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int): String
   hidden(dateTime: String, numDays: Int, numHours: Int): Boolean
   validity: String
 }
 
-type university_calc_Calculator__nextMonth__gqlv_action {
+type rich_university_calc_Calculator__nextMonth__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(month: org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum!): university_calc_Calculator__nextMonth__gqlv_action_invoke
+  invoke(month: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum!): rich_university_calc_Calculator__nextMonth__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__nextMonth__gqlv_action_params
-  validate(month: org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum): String
+  params: rich_university_calc_Calculator__nextMonth__gqlv_action_params
+  validate(month: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum): String
 }
 
-type university_calc_Calculator__nextMonth__gqlv_action_args {
-  month: org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
+type rich_university_calc_Calculator__nextMonth__gqlv_action_args {
+  month: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
 }
 
-type university_calc_Calculator__nextMonth__gqlv_action_invoke {
+type rich_university_calc_Calculator__nextMonth__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__nextMonth__gqlv_action_args
-  results: org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
+  args: rich_university_calc_Calculator__nextMonth__gqlv_action_args
+  results: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
 }
 
-type university_calc_Calculator__nextMonth__gqlv_action_params {
+type rich_university_calc_Calculator__nextMonth__gqlv_action_params {
   "Month"
-  month: university_calc_Calculator__nextMonth__month__gqlv_action_parameter
+  month: rich_university_calc_Calculator__nextMonth__month__gqlv_action_parameter
 }
 
-type university_calc_Calculator__nextMonth__month__gqlv_action_parameter {
-  choices: [org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum]
+type rich_university_calc_Calculator__nextMonth__month__gqlv_action_parameter {
+  choices: [rich_org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum]
   datatype: String
-  disabled(month: org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum): String
+  disabled(month: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__not__gqlv_action {
+type rich_university_calc_Calculator__not__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Boolean!): university_calc_Calculator__not__gqlv_action_invoke
+  invoke(x: Boolean!): rich_university_calc_Calculator__not__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__not__gqlv_action_params
+  params: rich_university_calc_Calculator__not__gqlv_action_params
   validate(x: Boolean): String
 }
 
-type university_calc_Calculator__not__gqlv_action_args {
+type rich_university_calc_Calculator__not__gqlv_action_args {
   x: Boolean
 }
 
-type university_calc_Calculator__not__gqlv_action_invoke {
+type rich_university_calc_Calculator__not__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__not__gqlv_action_args
+  args: rich_university_calc_Calculator__not__gqlv_action_args
   results: Boolean
 }
 
-type university_calc_Calculator__not__gqlv_action_params {
+type rich_university_calc_Calculator__not__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__not__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__not__x__gqlv_action_parameter
 }
 
-type university_calc_Calculator__not__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__not__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Boolean): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__or__gqlv_action {
+type rich_university_calc_Calculator__or__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(x: Boolean!, y: Boolean!): university_calc_Calculator__or__gqlv_action_invoke
+  invoke(x: Boolean!, y: Boolean!): rich_university_calc_Calculator__or__gqlv_action_invoke
   "Parameters of this action"
-  params: university_calc_Calculator__or__gqlv_action_params
+  params: rich_university_calc_Calculator__or__gqlv_action_params
   validate(x: Boolean, y: Boolean): String
 }
 
-type university_calc_Calculator__or__gqlv_action_args {
+type rich_university_calc_Calculator__or__gqlv_action_args {
   x: Boolean
   y: Boolean
 }
 
-type university_calc_Calculator__or__gqlv_action_invoke {
+type rich_university_calc_Calculator__or__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_calc_Calculator__or__gqlv_action_args
+  args: rich_university_calc_Calculator__or__gqlv_action_args
   results: Boolean
 }
 
-type university_calc_Calculator__or__gqlv_action_params {
+type rich_university_calc_Calculator__or__gqlv_action_params {
   "X"
-  x: university_calc_Calculator__or__x__gqlv_action_parameter
+  x: rich_university_calc_Calculator__or__x__gqlv_action_parameter
   "Y"
-  y: university_calc_Calculator__or__y__gqlv_action_parameter
+  y: rich_university_calc_Calculator__or__y__gqlv_action_parameter
 }
 
-type university_calc_Calculator__or__x__gqlv_action_parameter {
+type rich_university_calc_Calculator__or__x__gqlv_action_parameter {
   datatype: String
   disabled(x: Boolean): String
   hidden: Boolean
   validity: String
 }
 
-type university_calc_Calculator__or__y__gqlv_action_parameter {
+type rich_university_calc_Calculator__or__y__gqlv_action_parameter {
   datatype: String
   disabled(x: Boolean, y: Boolean): String
   hidden(x: Boolean): Boolean
   validity: String
 }
 
-type university_calc_Calculator__someLocale__gqlv_action {
+type rich_university_calc_Calculator__someLocale__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: university_calc_Calculator__someLocale__gqlv_action_invoke
+  invoke: rich_university_calc_Calculator__someLocale__gqlv_action_invoke
   validate: String
 }
 
-type university_calc_Calculator__someLocale__gqlv_action_invoke {
+type rich_university_calc_Calculator__someLocale__gqlv_action_invoke {
   results: String
 }
 
-type university_calc_Calculator__someUrl__gqlv_action {
+type rich_university_calc_Calculator__someUrl__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: university_calc_Calculator__someUrl__gqlv_action_invoke
+  invoke: rich_university_calc_Calculator__someUrl__gqlv_action_invoke
   validate: String
 }
 
-type university_calc_Calculator__someUrl__gqlv_action_invoke {
+type rich_university_calc_Calculator__someUrl__gqlv_action_invoke {
   results: String
 }
 
-type university_calc_Calculator__someUuid__gqlv_action {
+type rich_university_calc_Calculator__someUuid__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: university_calc_Calculator__someUuid__gqlv_action_invoke
+  invoke: rich_university_calc_Calculator__someUuid__gqlv_action_invoke
   validate: String
 }
 
-type university_calc_Calculator__someUuid__gqlv_action_invoke {
+type rich_university_calc_Calculator__someUuid__gqlv_action_invoke {
   results: UUID
 }
 
 "University department specializing in a field of study"
-type university_dept_Department {
+type rich_university_dept_Department {
   "Object metadata"
-  _meta: university_dept_Department__gqlv_meta
+  _meta: rich_university_dept_Department__gqlv_meta
   "University department specializing in a field of study"
-  addStaffMember: university_dept_Department__addStaffMember__gqlv_action
+  addStaffMember: rich_university_dept_Department__addStaffMember__gqlv_action
   "University department specializing in a field of study"
-  addStaffMembers: university_dept_Department__addStaffMembers__gqlv_action
+  addStaffMembers: rich_university_dept_Department__addStaffMembers__gqlv_action
   "University department specializing in a field of study"
-  changeDeptHead: university_dept_Department__changeDeptHead__gqlv_action
+  changeDeptHead: rich_university_dept_Department__changeDeptHead__gqlv_action
   "University department specializing in a field of study"
-  changeName: university_dept_Department__changeName__gqlv_action
+  changeName: rich_university_dept_Department__changeName__gqlv_action
   "Departmental head, responsible for curriculum, research, funding and staff"
-  deptHead: university_dept_Department__deptHead__gqlv_property
+  deptHead: rich_university_dept_Department__deptHead__gqlv_property
   "Name"
-  name: university_dept_Department__name__gqlv_property
+  name: rich_university_dept_Department__name__gqlv_property
   "University department specializing in a field of study"
-  removeStaffMember: university_dept_Department__removeStaffMember__gqlv_action
+  removeStaffMember: rich_university_dept_Department__removeStaffMember__gqlv_action
   "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-  staffMembers: university_dept_Department__staffMembers__gqlv_collection
+  staffMembers: rich_university_dept_Department__staffMembers__gqlv_collection
 }
 
 "University department specializing in a field of study"
-type university_dept_Department__addStaffMember__gqlv_action {
+type rich_university_dept_Department__addStaffMember__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(staffMember: university_dept_StaffMember__gqlv_input!): university_dept_Department__addStaffMember__gqlv_action_invoke
+  invokeIdempotent(staffMember: rich_university_dept_StaffMember__gqlv_input!): rich_university_dept_Department__addStaffMember__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Department__addStaffMember__gqlv_action_params
-  validate(staffMember: university_dept_StaffMember__gqlv_input): String
+  params: rich_university_dept_Department__addStaffMember__gqlv_action_params
+  validate(staffMember: rich_university_dept_StaffMember__gqlv_input): String
 }
 
-type university_dept_Department__addStaffMember__gqlv_action_args {
-  staffMember: university_dept_StaffMember
+type rich_university_dept_Department__addStaffMember__gqlv_action_args {
+  staffMember: rich_university_dept_StaffMember
 }
 
-type university_dept_Department__addStaffMember__gqlv_action_invoke {
+type rich_university_dept_Department__addStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Department__addStaffMember__gqlv_action_args
-  results: university_dept_Department
+  args: rich_university_dept_Department__addStaffMember__gqlv_action_args
+  results: rich_university_dept_Department
 }
 
-type university_dept_Department__addStaffMember__gqlv_action_params {
+type rich_university_dept_Department__addStaffMember__gqlv_action_params {
   "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-  staffMember: university_dept_Department__addStaffMember__staffMember__gqlv_action_parameter
+  staffMember: rich_university_dept_Department__addStaffMember__staffMember__gqlv_action_parameter
 }
 
-type university_dept_Department__addStaffMember__staffMember__gqlv_action_parameter {
-  autoComplete(search: String!): [university_dept_StaffMember]
+type rich_university_dept_Department__addStaffMember__staffMember__gqlv_action_parameter {
+  autoComplete(search: String!): [rich_university_dept_StaffMember]
   datatype: String
-  disabled(staffMember: university_dept_StaffMember__gqlv_input): String
+  disabled(staffMember: rich_university_dept_StaffMember__gqlv_input): String
   hidden: Boolean
   validity: String
 }
 
 "University department specializing in a field of study"
-type university_dept_Department__addStaffMembers__gqlv_action {
+type rich_university_dept_Department__addStaffMembers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(staffMembers: [university_dept_StaffMember__gqlv_input]): university_dept_Department__addStaffMembers__gqlv_action_invoke
+  invokeIdempotent(staffMembers: [rich_university_dept_StaffMember__gqlv_input]): rich_university_dept_Department__addStaffMembers__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Department__addStaffMembers__gqlv_action_params
-  validate(staffMembers: [university_dept_StaffMember__gqlv_input]): String
+  params: rich_university_dept_Department__addStaffMembers__gqlv_action_params
+  validate(staffMembers: [rich_university_dept_StaffMember__gqlv_input]): String
 }
 
-type university_dept_Department__addStaffMembers__gqlv_action_args {
-  staffMembers: [university_dept_StaffMember]
+type rich_university_dept_Department__addStaffMembers__gqlv_action_args {
+  staffMembers: [rich_university_dept_StaffMember]
 }
 
-type university_dept_Department__addStaffMembers__gqlv_action_invoke {
+type rich_university_dept_Department__addStaffMembers__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Department__addStaffMembers__gqlv_action_args
-  results: university_dept_Department
+  args: rich_university_dept_Department__addStaffMembers__gqlv_action_args
+  results: rich_university_dept_Department
 }
 
-type university_dept_Department__addStaffMembers__gqlv_action_params {
+type rich_university_dept_Department__addStaffMembers__gqlv_action_params {
   "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-  staffMembers: university_dept_Department__addStaffMembers__staffMembers__gqlv_action_parameter
+  staffMembers: rich_university_dept_Department__addStaffMembers__staffMembers__gqlv_action_parameter
 }
 
-type university_dept_Department__addStaffMembers__staffMembers__gqlv_action_parameter {
-  choices: [university_dept_StaffMember]
+type rich_university_dept_Department__addStaffMembers__staffMembers__gqlv_action_parameter {
+  choices: [rich_university_dept_StaffMember]
   datatype: String
-  disabled(staffMembers: [university_dept_StaffMember__gqlv_input]): String
+  disabled(staffMembers: [rich_university_dept_StaffMember__gqlv_input]): String
   hidden: Boolean
   validity: String
 }
 
 "University department specializing in a field of study"
-type university_dept_Department__changeDeptHead__gqlv_action {
+type rich_university_dept_Department__changeDeptHead__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(newDeptHead: university_dept_DeptHead__gqlv_input!): university_dept_Department__changeDeptHead__gqlv_action_invoke
+  invokeIdempotent(newDeptHead: rich_university_dept_DeptHead__gqlv_input!): rich_university_dept_Department__changeDeptHead__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Department__changeDeptHead__gqlv_action_params
-  validate(newDeptHead: university_dept_DeptHead__gqlv_input): String
+  params: rich_university_dept_Department__changeDeptHead__gqlv_action_params
+  validate(newDeptHead: rich_university_dept_DeptHead__gqlv_input): String
 }
 
-type university_dept_Department__changeDeptHead__gqlv_action_args {
-  newDeptHead: university_dept_DeptHead
+type rich_university_dept_Department__changeDeptHead__gqlv_action_args {
+  newDeptHead: rich_university_dept_DeptHead
 }
 
-type university_dept_Department__changeDeptHead__gqlv_action_invoke {
+type rich_university_dept_Department__changeDeptHead__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Department__changeDeptHead__gqlv_action_args
-  results: university_dept_Department
+  args: rich_university_dept_Department__changeDeptHead__gqlv_action_args
+  results: rich_university_dept_Department
 }
 
-type university_dept_Department__changeDeptHead__gqlv_action_params {
+type rich_university_dept_Department__changeDeptHead__gqlv_action_params {
   "Departmental head, responsible for curriculum, research, funding and staff"
-  newDeptHead: university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parameter
+  newDeptHead: rich_university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parameter
 }
 
-type university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parameter {
-  autoComplete(search: String!): [university_dept_DeptHead]
+type rich_university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parameter {
+  autoComplete(search: String!): [rich_university_dept_DeptHead]
   datatype: String
-  default: university_dept_DeptHead
-  disabled(newDeptHead: university_dept_DeptHead__gqlv_input): String
+  default: rich_university_dept_DeptHead
+  disabled(newDeptHead: rich_university_dept_DeptHead__gqlv_input): String
   hidden: Boolean
   validity: String
 }
 
 "University department specializing in a field of study"
-type university_dept_Department__changeName__gqlv_action {
+type rich_university_dept_Department__changeName__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(newName: String!): university_dept_Department__changeName__gqlv_action_invoke
+  invokeIdempotent(newName: String!): rich_university_dept_Department__changeName__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Department__changeName__gqlv_action_params
+  params: rich_university_dept_Department__changeName__gqlv_action_params
   validate(newName: String): String
 }
 
-type university_dept_Department__changeName__gqlv_action_args {
+type rich_university_dept_Department__changeName__gqlv_action_args {
   newName: String
 }
 
-type university_dept_Department__changeName__gqlv_action_invoke {
+type rich_university_dept_Department__changeName__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Department__changeName__gqlv_action_args
-  results: university_dept_Department
+  args: rich_university_dept_Department__changeName__gqlv_action_args
+  results: rich_university_dept_Department
 }
 
-type university_dept_Department__changeName__gqlv_action_params {
+type rich_university_dept_Department__changeName__gqlv_action_params {
   "New Name"
-  newName: university_dept_Department__changeName__newName__gqlv_action_parameter
+  newName: rich_university_dept_Department__changeName__newName__gqlv_action_parameter
 }
 
-type university_dept_Department__changeName__newName__gqlv_action_parameter {
+type rich_university_dept_Department__changeName__newName__gqlv_action_parameter {
   datatype: String
   default: String
   disabled(newName: String): String
@@ -3436,17 +3436,17 @@ type university_dept_Department__changeName__newName__gqlv_action_parameter {
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
-type university_dept_Department__deptHead__gqlv_property {
-  autoComplete(search: String!): [university_dept_DeptHead]
+type rich_university_dept_Department__deptHead__gqlv_property {
+  autoComplete(search: String!): [rich_university_dept_DeptHead]
   datatype: String
   disabled: String
-  get: university_dept_DeptHead
+  get: rich_university_dept_DeptHead
   hidden: Boolean
-  set(deptHead: university_dept_DeptHead__gqlv_input): university_dept_Department
-  validate(deptHead: university_dept_DeptHead__gqlv_input): String
+  set(deptHead: rich_university_dept_DeptHead__gqlv_input): rich_university_dept_Department
+  validate(deptHead: rich_university_dept_DeptHead__gqlv_input): String
 }
 
-type university_dept_Department__gqlv_meta {
+type rich_university_dept_Department__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -3458,102 +3458,102 @@ type university_dept_Department__gqlv_meta {
   version: String
 }
 
-type university_dept_Department__name__gqlv_property {
+type rich_university_dept_Department__name__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(name: String!): university_dept_Department
+  set(name: String!): rich_university_dept_Department
   validate(name: String): String
 }
 
 "University department specializing in a field of study"
-type university_dept_Department__removeStaffMember__gqlv_action {
+type rich_university_dept_Department__removeStaffMember__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(staffMember: university_dept_StaffMember__gqlv_input!): university_dept_Department__removeStaffMember__gqlv_action_invoke
+  invokeIdempotent(staffMember: rich_university_dept_StaffMember__gqlv_input!): rich_university_dept_Department__removeStaffMember__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Department__removeStaffMember__gqlv_action_params
-  validate(staffMember: university_dept_StaffMember__gqlv_input): String
+  params: rich_university_dept_Department__removeStaffMember__gqlv_action_params
+  validate(staffMember: rich_university_dept_StaffMember__gqlv_input): String
 }
 
-type university_dept_Department__removeStaffMember__gqlv_action_args {
-  staffMember: university_dept_StaffMember
+type rich_university_dept_Department__removeStaffMember__gqlv_action_args {
+  staffMember: rich_university_dept_StaffMember
 }
 
-type university_dept_Department__removeStaffMember__gqlv_action_invoke {
+type rich_university_dept_Department__removeStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Department__removeStaffMember__gqlv_action_args
-  results: university_dept_Department
+  args: rich_university_dept_Department__removeStaffMember__gqlv_action_args
+  results: rich_university_dept_Department
 }
 
-type university_dept_Department__removeStaffMember__gqlv_action_params {
+type rich_university_dept_Department__removeStaffMember__gqlv_action_params {
   "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-  staffMember: university_dept_Department__removeStaffMember__staffMember__gqlv_action_parameter
+  staffMember: rich_university_dept_Department__removeStaffMember__staffMember__gqlv_action_parameter
 }
 
-type university_dept_Department__removeStaffMember__staffMember__gqlv_action_parameter {
-  choices: [university_dept_StaffMember]
+type rich_university_dept_Department__removeStaffMember__staffMember__gqlv_action_parameter {
+  choices: [rich_university_dept_StaffMember]
   datatype: String
-  disabled(staffMember: university_dept_StaffMember__gqlv_input): String
+  disabled(staffMember: rich_university_dept_StaffMember__gqlv_input): String
   hidden: Boolean
   validity: String
 }
 
 "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-type university_dept_Department__staffMembers__gqlv_collection {
+type rich_university_dept_Department__staffMembers__gqlv_collection {
   datatype: String
   disabled: String
-  get: [university_dept_StaffMember]
+  get: [rich_university_dept_StaffMember]
   hidden: Boolean
 }
 
-type university_dept_Departments {
+type rich_university_dept_Departments {
   "University department specializing in a field of study"
-  createDepartment: university_dept_Departments__createDepartment__gqlv_action
+  createDepartment: rich_university_dept_Departments__createDepartment__gqlv_action
   "University department specializing in a field of study"
-  findAllDepartments: university_dept_Departments__findAllDepartments__gqlv_action
+  findAllDepartments: rich_university_dept_Departments__findAllDepartments__gqlv_action
   "University department specializing in a field of study"
-  findDepartmentByName: university_dept_Departments__findDepartmentByName__gqlv_action
+  findDepartmentByName: rich_university_dept_Departments__findDepartmentByName__gqlv_action
 }
 
-type university_dept_Departments__createDepartment__deptHead__gqlv_action_parameter {
-  autoComplete(name: String, search: String!): [university_dept_DeptHead]
+type rich_university_dept_Departments__createDepartment__deptHead__gqlv_action_parameter {
+  autoComplete(name: String, search: String!): [rich_university_dept_DeptHead]
   datatype: String
-  disabled(deptHead: university_dept_DeptHead__gqlv_input, name: String): String
+  disabled(deptHead: rich_university_dept_DeptHead__gqlv_input, name: String): String
   hidden(name: String): Boolean
   validity: String
 }
 
 "University department specializing in a field of study"
-type university_dept_Departments__createDepartment__gqlv_action {
+type rich_university_dept_Departments__createDepartment__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent(deptHead: university_dept_DeptHead__gqlv_input, name: String!): university_dept_Departments__createDepartment__gqlv_action_invoke
+  invokeNonIdempotent(deptHead: rich_university_dept_DeptHead__gqlv_input, name: String!): rich_university_dept_Departments__createDepartment__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Departments__createDepartment__gqlv_action_params
-  validate(deptHead: university_dept_DeptHead__gqlv_input, name: String): String
+  params: rich_university_dept_Departments__createDepartment__gqlv_action_params
+  validate(deptHead: rich_university_dept_DeptHead__gqlv_input, name: String): String
 }
 
-type university_dept_Departments__createDepartment__gqlv_action_args {
-  deptHead: university_dept_DeptHead
+type rich_university_dept_Departments__createDepartment__gqlv_action_args {
+  deptHead: rich_university_dept_DeptHead
   name: String
 }
 
-type university_dept_Departments__createDepartment__gqlv_action_invoke {
+type rich_university_dept_Departments__createDepartment__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Departments__createDepartment__gqlv_action_args
-  results: university_dept_Department
+  args: rich_university_dept_Departments__createDepartment__gqlv_action_args
+  results: rich_university_dept_Department
 }
 
-type university_dept_Departments__createDepartment__gqlv_action_params {
+type rich_university_dept_Departments__createDepartment__gqlv_action_params {
   "Departmental head, responsible for curriculum, research, funding and staff"
-  deptHead: university_dept_Departments__createDepartment__deptHead__gqlv_action_parameter
+  deptHead: rich_university_dept_Departments__createDepartment__deptHead__gqlv_action_parameter
   "Name"
-  name: university_dept_Departments__createDepartment__name__gqlv_action_parameter
+  name: rich_university_dept_Departments__createDepartment__name__gqlv_action_parameter
 }
 
-type university_dept_Departments__createDepartment__name__gqlv_action_parameter {
+type rich_university_dept_Departments__createDepartment__name__gqlv_action_parameter {
   datatype: String
   disabled(name: String): String
   hidden: Boolean
@@ -3561,43 +3561,43 @@ type university_dept_Departments__createDepartment__name__gqlv_action_parameter
 }
 
 "University department specializing in a field of study"
-type university_dept_Departments__findAllDepartments__gqlv_action {
+type rich_university_dept_Departments__findAllDepartments__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: university_dept_Departments__findAllDepartments__gqlv_action_invoke
+  invoke: rich_university_dept_Departments__findAllDepartments__gqlv_action_invoke
   validate: String
 }
 
-type university_dept_Departments__findAllDepartments__gqlv_action_invoke {
-  results: [university_dept_Department]
+type rich_university_dept_Departments__findAllDepartments__gqlv_action_invoke {
+  results: [rich_university_dept_Department]
 }
 
 "University department specializing in a field of study"
-type university_dept_Departments__findDepartmentByName__gqlv_action {
+type rich_university_dept_Departments__findDepartmentByName__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(name: String!): university_dept_Departments__findDepartmentByName__gqlv_action_invoke
+  invoke(name: String!): rich_university_dept_Departments__findDepartmentByName__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Departments__findDepartmentByName__gqlv_action_params
+  params: rich_university_dept_Departments__findDepartmentByName__gqlv_action_params
   validate(name: String): String
 }
 
-type university_dept_Departments__findDepartmentByName__gqlv_action_args {
+type rich_university_dept_Departments__findDepartmentByName__gqlv_action_args {
   name: String
 }
 
-type university_dept_Departments__findDepartmentByName__gqlv_action_invoke {
+type rich_university_dept_Departments__findDepartmentByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Departments__findDepartmentByName__gqlv_action_args
-  results: university_dept_Department
+  args: rich_university_dept_Departments__findDepartmentByName__gqlv_action_args
+  results: rich_university_dept_Department
 }
 
-type university_dept_Departments__findDepartmentByName__gqlv_action_params {
+type rich_university_dept_Departments__findDepartmentByName__gqlv_action_params {
   "Name"
-  name: university_dept_Departments__findDepartmentByName__name__gqlv_action_parameter
+  name: rich_university_dept_Departments__findDepartmentByName__name__gqlv_action_parameter
 }
 
-type university_dept_Departments__findDepartmentByName__name__gqlv_action_parameter {
+type rich_university_dept_Departments__findDepartmentByName__name__gqlv_action_parameter {
   datatype: String
   disabled(name: String): String
   hidden: Boolean
@@ -3605,78 +3605,78 @@ type university_dept_Departments__findDepartmentByName__name__gqlv_action_parame
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
-type university_dept_DeptHead {
+type rich_university_dept_DeptHead {
   "Object metadata"
-  _meta: university_dept_DeptHead__gqlv_meta
+  _meta: rich_university_dept_DeptHead__gqlv_meta
   "Departmental head, responsible for curriculum, research, funding and staff"
-  changeDepartment: university_dept_DeptHead__changeDepartment__gqlv_action
+  changeDepartment: rich_university_dept_DeptHead__changeDepartment__gqlv_action
   "Departmental head, responsible for curriculum, research, funding and staff"
-  changeName: university_dept_DeptHead__changeName__gqlv_action
+  changeName: rich_university_dept_DeptHead__changeName__gqlv_action
   "University department specializing in a field of study"
-  department: university_dept_DeptHead__department__gqlv_property
+  department: rich_university_dept_DeptHead__department__gqlv_property
   "Name"
-  name: university_dept_DeptHead__name__gqlv_property
+  name: rich_university_dept_DeptHead__name__gqlv_property
 }
 
-type university_dept_DeptHead__changeDepartment__department__gqlv_action_parameter {
-  choices: [university_dept_Department]
+type rich_university_dept_DeptHead__changeDepartment__department__gqlv_action_parameter {
+  choices: [rich_university_dept_Department]
   datatype: String
-  disabled(department: university_dept_Department__gqlv_input): String
+  disabled(department: rich_university_dept_Department__gqlv_input): String
   hidden: Boolean
   validity: String
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
-type university_dept_DeptHead__changeDepartment__gqlv_action {
+type rich_university_dept_DeptHead__changeDepartment__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(department: university_dept_Department__gqlv_input!): university_dept_DeptHead__changeDepartment__gqlv_action_invoke
+  invokeIdempotent(department: rich_university_dept_Department__gqlv_input!): rich_university_dept_DeptHead__changeDepartment__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_DeptHead__changeDepartment__gqlv_action_params
-  validate(department: university_dept_Department__gqlv_input): String
+  params: rich_university_dept_DeptHead__changeDepartment__gqlv_action_params
+  validate(department: rich_university_dept_Department__gqlv_input): String
 }
 
-type university_dept_DeptHead__changeDepartment__gqlv_action_args {
-  department: university_dept_Department
+type rich_university_dept_DeptHead__changeDepartment__gqlv_action_args {
+  department: rich_university_dept_Department
 }
 
-type university_dept_DeptHead__changeDepartment__gqlv_action_invoke {
+type rich_university_dept_DeptHead__changeDepartment__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_DeptHead__changeDepartment__gqlv_action_args
-  results: university_dept_DeptHead
+  args: rich_university_dept_DeptHead__changeDepartment__gqlv_action_args
+  results: rich_university_dept_DeptHead
 }
 
-type university_dept_DeptHead__changeDepartment__gqlv_action_params {
+type rich_university_dept_DeptHead__changeDepartment__gqlv_action_params {
   "University department specializing in a field of study"
-  department: university_dept_DeptHead__changeDepartment__department__gqlv_action_parameter
+  department: rich_university_dept_DeptHead__changeDepartment__department__gqlv_action_parameter
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
-type university_dept_DeptHead__changeName__gqlv_action {
+type rich_university_dept_DeptHead__changeName__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(newName: String!): university_dept_DeptHead__changeName__gqlv_action_invoke
+  invokeIdempotent(newName: String!): rich_university_dept_DeptHead__changeName__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_DeptHead__changeName__gqlv_action_params
+  params: rich_university_dept_DeptHead__changeName__gqlv_action_params
   validate(newName: String): String
 }
 
-type university_dept_DeptHead__changeName__gqlv_action_args {
+type rich_university_dept_DeptHead__changeName__gqlv_action_args {
   newName: String
 }
 
-type university_dept_DeptHead__changeName__gqlv_action_invoke {
+type rich_university_dept_DeptHead__changeName__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_DeptHead__changeName__gqlv_action_args
-  results: university_dept_DeptHead
+  args: rich_university_dept_DeptHead__changeName__gqlv_action_args
+  results: rich_university_dept_DeptHead
 }
 
-type university_dept_DeptHead__changeName__gqlv_action_params {
+type rich_university_dept_DeptHead__changeName__gqlv_action_params {
   "New Name"
-  newName: university_dept_DeptHead__changeName__newName__gqlv_action_parameter
+  newName: rich_university_dept_DeptHead__changeName__newName__gqlv_action_parameter
 }
 
-type university_dept_DeptHead__changeName__newName__gqlv_action_parameter {
+type rich_university_dept_DeptHead__changeName__newName__gqlv_action_parameter {
   datatype: String
   default: String
   disabled(newName: String): String
@@ -3685,17 +3685,17 @@ type university_dept_DeptHead__changeName__newName__gqlv_action_parameter {
 }
 
 "University department specializing in a field of study"
-type university_dept_DeptHead__department__gqlv_property {
-  choices(department: university_dept_Department__gqlv_input): [university_dept_Department]
+type rich_university_dept_DeptHead__department__gqlv_property {
+  choices(department: rich_university_dept_Department__gqlv_input): [rich_university_dept_Department]
   datatype: String
   disabled: String
-  get: university_dept_Department
+  get: rich_university_dept_Department
   hidden: Boolean
-  set(department: university_dept_Department__gqlv_input): university_dept_DeptHead
-  validate(department: university_dept_Department__gqlv_input): String
+  set(department: rich_university_dept_Department__gqlv_input): rich_university_dept_DeptHead
+  validate(department: rich_university_dept_Department__gqlv_input): String
 }
 
-type university_dept_DeptHead__gqlv_meta {
+type rich_university_dept_DeptHead__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -3707,143 +3707,143 @@ type university_dept_DeptHead__gqlv_meta {
   version: String
 }
 
-type university_dept_DeptHead__name__gqlv_property {
+type rich_university_dept_DeptHead__name__gqlv_property {
   datatype: String
   disabled: String
   get: String
   hidden: Boolean
-  set(name: String): university_dept_DeptHead
+  set(name: String): rich_university_dept_DeptHead
   validate(name: String): String
 }
 
-type university_dept_DeptHeads {
+type rich_university_dept_DeptHeads {
   "Departmental head, responsible for curriculum, research, funding and staff"
-  findAllHeads: university_dept_DeptHeads__findAllHeads__gqlv_action
+  findAllHeads: rich_university_dept_DeptHeads__findAllHeads__gqlv_action
   "Departmental head, responsible for curriculum, research, funding and staff"
-  findHeadByName: university_dept_DeptHeads__findHeadByName__gqlv_action
+  findHeadByName: rich_university_dept_DeptHeads__findHeadByName__gqlv_action
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
-type university_dept_DeptHeads__findAllHeads__gqlv_action {
+type rich_university_dept_DeptHeads__findAllHeads__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: university_dept_DeptHeads__findAllHeads__gqlv_action_invoke
+  invoke: rich_university_dept_DeptHeads__findAllHeads__gqlv_action_invoke
   validate: String
 }
 
-type university_dept_DeptHeads__findAllHeads__gqlv_action_invoke {
-  results: [university_dept_DeptHead]
+type rich_university_dept_DeptHeads__findAllHeads__gqlv_action_invoke {
+  results: [rich_university_dept_DeptHead]
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
-type university_dept_DeptHeads__findHeadByName__gqlv_action {
+type rich_university_dept_DeptHeads__findHeadByName__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(name: String!): university_dept_DeptHeads__findHeadByName__gqlv_action_invoke
+  invoke(name: String!): rich_university_dept_DeptHeads__findHeadByName__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_DeptHeads__findHeadByName__gqlv_action_params
+  params: rich_university_dept_DeptHeads__findHeadByName__gqlv_action_params
   validate(name: String): String
 }
 
-type university_dept_DeptHeads__findHeadByName__gqlv_action_args {
+type rich_university_dept_DeptHeads__findHeadByName__gqlv_action_args {
   name: String
 }
 
-type university_dept_DeptHeads__findHeadByName__gqlv_action_invoke {
+type rich_university_dept_DeptHeads__findHeadByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_DeptHeads__findHeadByName__gqlv_action_args
-  results: university_dept_DeptHead
+  args: rich_university_dept_DeptHeads__findHeadByName__gqlv_action_args
+  results: rich_university_dept_DeptHead
 }
 
-type university_dept_DeptHeads__findHeadByName__gqlv_action_params {
+type rich_university_dept_DeptHeads__findHeadByName__gqlv_action_params {
   "Name"
-  name: university_dept_DeptHeads__findHeadByName__name__gqlv_action_parameter
+  name: rich_university_dept_DeptHeads__findHeadByName__name__gqlv_action_parameter
 }
 
-type university_dept_DeptHeads__findHeadByName__name__gqlv_action_parameter {
+type rich_university_dept_DeptHeads__findHeadByName__name__gqlv_action_parameter {
   datatype: String
   disabled(name: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_dept_People {
+type rich_university_dept_People {
   "Find Named"
-  findNamed: university_dept_People__findNamed__gqlv_action
+  findNamed: rich_university_dept_People__findNamed__gqlv_action
   "Name Of"
-  nameOf: university_dept_People__nameOf__gqlv_action
+  nameOf: rich_university_dept_People__nameOf__gqlv_action
 }
 
-type university_dept_People__findNamed__gqlv_action {
+type rich_university_dept_People__findNamed__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(name: String!): university_dept_People__findNamed__gqlv_action_invoke
+  invoke(name: String!): rich_university_dept_People__findNamed__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_People__findNamed__gqlv_action_params
+  params: rich_university_dept_People__findNamed__gqlv_action_params
   validate(name: String): String
 }
 
-type university_dept_People__findNamed__gqlv_action_args {
+type rich_university_dept_People__findNamed__gqlv_action_args {
   name: String
 }
 
-type university_dept_People__findNamed__gqlv_action_invoke {
+type rich_university_dept_People__findNamed__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_People__findNamed__gqlv_action_args
-  results: university_dept_Person
+  args: rich_university_dept_People__findNamed__gqlv_action_args
+  results: rich_university_dept_Person
 }
 
-type university_dept_People__findNamed__gqlv_action_params {
+type rich_university_dept_People__findNamed__gqlv_action_params {
   "Name"
-  name: university_dept_People__findNamed__name__gqlv_action_parameter
+  name: rich_university_dept_People__findNamed__name__gqlv_action_parameter
 }
 
-type university_dept_People__findNamed__name__gqlv_action_parameter {
+type rich_university_dept_People__findNamed__name__gqlv_action_parameter {
   datatype: String
   disabled(name: String): String
   hidden: Boolean
   validity: String
 }
 
-type university_dept_People__nameOf__gqlv_action {
+type rich_university_dept_People__nameOf__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(person: university_dept_Person__gqlv_input!): university_dept_People__nameOf__gqlv_action_invoke
+  invoke(person: rich_university_dept_Person__gqlv_input!): rich_university_dept_People__nameOf__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_People__nameOf__gqlv_action_params
-  validate(person: university_dept_Person__gqlv_input): String
+  params: rich_university_dept_People__nameOf__gqlv_action_params
+  validate(person: rich_university_dept_Person__gqlv_input): String
 }
 
-type university_dept_People__nameOf__gqlv_action_args {
-  person: university_dept_Person
+type rich_university_dept_People__nameOf__gqlv_action_args {
+  person: rich_university_dept_Person
 }
 
-type university_dept_People__nameOf__gqlv_action_invoke {
+type rich_university_dept_People__nameOf__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_People__nameOf__gqlv_action_args
+  args: rich_university_dept_People__nameOf__gqlv_action_args
   results: String
 }
 
-type university_dept_People__nameOf__gqlv_action_params {
+type rich_university_dept_People__nameOf__gqlv_action_params {
   "Person"
-  person: university_dept_People__nameOf__person__gqlv_action_parameter
+  person: rich_university_dept_People__nameOf__person__gqlv_action_parameter
 }
 
-type university_dept_People__nameOf__person__gqlv_action_parameter {
+type rich_university_dept_People__nameOf__person__gqlv_action_parameter {
   datatype: String
-  disabled(person: university_dept_Person__gqlv_input): String
+  disabled(person: rich_university_dept_Person__gqlv_input): String
   hidden: Boolean
   validity: String
 }
 
-type university_dept_Person {
+type rich_university_dept_Person {
   "Object metadata"
-  _meta: university_dept_Person__gqlv_meta
+  _meta: rich_university_dept_Person__gqlv_meta
   "Name"
-  name: university_dept_Person__name__gqlv_property
+  name: rich_university_dept_Person__name__gqlv_property
 }
 
-type university_dept_Person__gqlv_meta {
+type rich_university_dept_Person__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -3854,50 +3854,50 @@ type university_dept_Person__gqlv_meta {
   title: String!
 }
 
-type university_dept_Person__name__gqlv_property {
+type rich_university_dept_Person__name__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(name: String!): university_dept_Person
+  set(name: String!): rich_university_dept_Person
   validate(name: String): String
 }
 
-type university_dept_Staff {
+type rich_university_dept_Staff {
   "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-  createStaffMember: university_dept_Staff__createStaffMember__gqlv_action
+  createStaffMember: rich_university_dept_Staff__createStaffMember__gqlv_action
   "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-  findAllStaffMembers: university_dept_Staff__findAllStaffMembers__gqlv_action
+  findAllStaffMembers: rich_university_dept_Staff__findAllStaffMembers__gqlv_action
   "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-  findStaffMemberByName: university_dept_Staff__findStaffMemberByName__gqlv_action
+  findStaffMemberByName: rich_university_dept_Staff__findStaffMemberByName__gqlv_action
 }
 
 "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-type university_dept_StaffMember {
+type rich_university_dept_StaffMember {
   "Object metadata"
-  _meta: university_dept_StaffMember__gqlv_meta
+  _meta: rich_university_dept_StaffMember__gqlv_meta
   "University department specializing in a field of study"
-  department: university_dept_StaffMember__department__gqlv_property
+  department: rich_university_dept_StaffMember__department__gqlv_property
   "Grade"
-  grade: university_dept_StaffMember__grade__gqlv_property
+  grade: rich_university_dept_StaffMember__grade__gqlv_property
   "Name"
-  name: university_dept_StaffMember__name__gqlv_property
+  name: rich_university_dept_StaffMember__name__gqlv_property
   "Photo"
-  photo: university_dept_StaffMember__photo__gqlv_property
+  photo: rich_university_dept_StaffMember__photo__gqlv_property
 }
 
 "University department specializing in a field of study"
-type university_dept_StaffMember__department__gqlv_property {
-  choices(department: university_dept_Department__gqlv_input): [university_dept_Department]
+type rich_university_dept_StaffMember__department__gqlv_property {
+  choices(department: rich_university_dept_Department__gqlv_input): [rich_university_dept_Department]
   datatype: String
   disabled: String
-  get: university_dept_Department
+  get: rich_university_dept_Department
   hidden: Boolean
-  set(department: university_dept_Department__gqlv_input): university_dept_StaffMember
-  validate(department: university_dept_Department__gqlv_input): String
+  set(department: rich_university_dept_Department__gqlv_input): rich_university_dept_StaffMember
+  validate(department: rich_university_dept_Department__gqlv_input): String
 }
 
-type university_dept_StaffMember__gqlv_meta {
+type rich_university_dept_StaffMember__gqlv_meta {
   cssClass: String
   grid: String
   icon: String
@@ -3909,77 +3909,77 @@ type university_dept_StaffMember__gqlv_meta {
   version: String
 }
 
-type university_dept_StaffMember__grade__gqlv_property {
-  choices(grade: org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum): [org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum]
+type rich_university_dept_StaffMember__grade__gqlv_property {
+  choices(grade: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum): [rich_org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum]
   datatype: String
   disabled: String
-  get: org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum!
+  get: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum!
   hidden: Boolean
-  set(grade: org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum!): university_dept_StaffMember
-  validate(grade: org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum): String
+  set(grade: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum!): rich_university_dept_StaffMember
+  validate(grade: rich_org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum): String
 }
 
-type university_dept_StaffMember__name__gqlv_property {
+type rich_university_dept_StaffMember__name__gqlv_property {
   datatype: String
   disabled: String
   get: String!
   hidden: Boolean
-  set(name: String!): university_dept_StaffMember
+  set(name: String!): rich_university_dept_StaffMember
   validate(name: String): String
 }
 
-type university_dept_StaffMember__photo__gqlv_property {
+type rich_university_dept_StaffMember__photo__gqlv_property {
   datatype: String
   disabled: String
-  get: university_dept_StaffMember__photo__gqlv_property_blob
+  get: rich_university_dept_StaffMember__photo__gqlv_property_blob
   hidden: Boolean
-  set(photo: String): university_dept_StaffMember
+  set(photo: String): rich_university_dept_StaffMember
   validate(photo: String): String
 }
 
-type university_dept_StaffMember__photo__gqlv_property_blob {
+type rich_university_dept_StaffMember__photo__gqlv_property_blob {
   bytes: String
   mimeType: String
   name: String
 }
 
-type university_dept_Staff__createStaffMember__department__gqlv_action_parameter {
-  choices(name: String): [university_dept_Department]
+type rich_university_dept_Staff__createStaffMember__department__gqlv_action_parameter {
+  choices(name: String): [rich_university_dept_Department]
   datatype: String
-  disabled(department: university_dept_Department__gqlv_input, name: String): String
+  disabled(department: rich_university_dept_Department__gqlv_input, name: String): String
   hidden(name: String): Boolean
   validity: String
 }
 
 "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-type university_dept_Staff__createStaffMember__gqlv_action {
+type rich_university_dept_Staff__createStaffMember__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent(department: university_dept_Department__gqlv_input!, name: String!): university_dept_Staff__createStaffMember__gqlv_action_invoke
+  invokeNonIdempotent(department: rich_university_dept_Department__gqlv_input!, name: String!): rich_university_dept_Staff__createStaffMember__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Staff__createStaffMember__gqlv_action_params
-  validate(department: university_dept_Department__gqlv_input, name: String): String
+  params: rich_university_dept_Staff__createStaffMember__gqlv_action_params
+  validate(department: rich_university_dept_Department__gqlv_input, name: String): String
 }
 
-type university_dept_Staff__createStaffMember__gqlv_action_args {
-  department: university_dept_Department
+type rich_university_dept_Staff__createStaffMember__gqlv_action_args {
+  department: rich_university_dept_Department
   name: String
 }
 
-type university_dept_Staff__createStaffMember__gqlv_action_invoke {
+type rich_university_dept_Staff__createStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Staff__createStaffMember__gqlv_action_args
-  results: university_dept_StaffMember
+  args: rich_university_dept_Staff__createStaffMember__gqlv_action_args
+  results: rich_university_dept_StaffMember
 }
 
-type university_dept_Staff__createStaffMember__gqlv_action_params {
+type rich_university_dept_Staff__createStaffMember__gqlv_action_params {
   "University department specializing in a field of study"
-  department: university_dept_Staff__createStaffMember__department__gqlv_action_parameter
+  department: rich_university_dept_Staff__createStaffMember__department__gqlv_action_parameter
   "Name"
-  name: university_dept_Staff__createStaffMember__name__gqlv_action_parameter
+  name: rich_university_dept_Staff__createStaffMember__name__gqlv_action_parameter
 }
 
-type university_dept_Staff__createStaffMember__name__gqlv_action_parameter {
+type rich_university_dept_Staff__createStaffMember__name__gqlv_action_parameter {
   datatype: String
   disabled(name: String): String
   hidden: Boolean
@@ -3987,50 +3987,50 @@ type university_dept_Staff__createStaffMember__name__gqlv_action_parameter {
 }
 
 "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-type university_dept_Staff__findAllStaffMembers__gqlv_action {
+type rich_university_dept_Staff__findAllStaffMembers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke: university_dept_Staff__findAllStaffMembers__gqlv_action_invoke
+  invoke: rich_university_dept_Staff__findAllStaffMembers__gqlv_action_invoke
   validate: String
 }
 
-type university_dept_Staff__findAllStaffMembers__gqlv_action_invoke {
-  results: [university_dept_StaffMember]
+type rich_university_dept_Staff__findAllStaffMembers__gqlv_action_invoke {
+  results: [rich_university_dept_StaffMember]
 }
 
 "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
-type university_dept_Staff__findStaffMemberByName__gqlv_action {
+type rich_university_dept_Staff__findStaffMemberByName__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(name: String!): university_dept_Staff__findStaffMemberByName__gqlv_action_invoke
+  invoke(name: String!): rich_university_dept_Staff__findStaffMemberByName__gqlv_action_invoke
   "Parameters of this action"
-  params: university_dept_Staff__findStaffMemberByName__gqlv_action_params
+  params: rich_university_dept_Staff__findStaffMemberByName__gqlv_action_params
   validate(name: String): String
 }
 
-type university_dept_Staff__findStaffMemberByName__gqlv_action_args {
+type rich_university_dept_Staff__findStaffMemberByName__gqlv_action_args {
   name: String
 }
 
-type university_dept_Staff__findStaffMemberByName__gqlv_action_invoke {
+type rich_university_dept_Staff__findStaffMemberByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
-  args: university_dept_Staff__findStaffMemberByName__gqlv_action_args
-  results: university_dept_StaffMember
+  args: rich_university_dept_Staff__findStaffMemberByName__gqlv_action_args
+  results: rich_university_dept_StaffMember
 }
 
-type university_dept_Staff__findStaffMemberByName__gqlv_action_params {
+type rich_university_dept_Staff__findStaffMemberByName__gqlv_action_params {
   "Name"
-  name: university_dept_Staff__findStaffMemberByName__name__gqlv_action_parameter
+  name: rich_university_dept_Staff__findStaffMemberByName__name__gqlv_action_parameter
 }
 
-type university_dept_Staff__findStaffMemberByName__name__gqlv_action_parameter {
+type rich_university_dept_Staff__findStaffMemberByName__name__gqlv_action_parameter {
   datatype: String
   disabled(name: String): String
   hidden: Boolean
   validity: String
 }
 
-enum causeway_applib_annotation_SemanticsOf__gqlv_enum {
+enum rich_causeway_applib_annotation_SemanticsOf__gqlv_enum {
   IDEMPOTENT
   IDEMPOTENT_ARE_YOU_SURE
   NON_IDEMPOTENT
@@ -4040,12 +4040,12 @@ enum causeway_applib_annotation_SemanticsOf__gqlv_enum {
   SAFE_AND_REQUEST_CACHEABLE
 }
 
-enum org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum {
+enum rich_org_apache_causeway_applib_services_user_UserMemento_AuthenticationSource__gqlv_enum {
   DEFAULT
   EXTERNAL
 }
 
-enum org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum {
+enum rich_org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum {
   APRIL
   AUGUST
   DECEMBER
@@ -4060,7 +4060,7 @@ enum org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
   SEPTEMBER
 }
 
-enum org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum {
+enum rich_org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum {
   LECTURER
   PROFESSOR
   READER
@@ -4083,7 +4083,7 @@ scalar Time
 "A universally unique identifier compliant UUID Scalar"
 scalar UUID
 
-input causeway_applib_DomainObjectList__gqlv_input {
+input rich_causeway_applib_DomainObjectList__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4092,7 +4092,7 @@ input causeway_applib_DomainObjectList__gqlv_input {
   ref: String
 }
 
-input causeway_applib_FacetGroupNode__gqlv_input {
+input rich_causeway_applib_FacetGroupNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4101,7 +4101,7 @@ input causeway_applib_FacetGroupNode__gqlv_input {
   ref: String
 }
 
-input causeway_applib_ParameterNode__gqlv_input {
+input rich_causeway_applib_ParameterNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4110,7 +4110,7 @@ input causeway_applib_ParameterNode__gqlv_input {
   ref: String
 }
 
-input causeway_applib_PropertyNode__gqlv_input {
+input rich_causeway_applib_PropertyNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4119,7 +4119,7 @@ input causeway_applib_PropertyNode__gqlv_input {
   ref: String
 }
 
-input causeway_applib_RoleMemento__gqlv_input {
+input rich_causeway_applib_RoleMemento__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4128,7 +4128,7 @@ input causeway_applib_RoleMemento__gqlv_input {
   ref: String
 }
 
-input causeway_applib_TypeNode__gqlv_input {
+input rich_causeway_applib_TypeNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4137,7 +4137,7 @@ input causeway_applib_TypeNode__gqlv_input {
   ref: String
 }
 
-input causeway_applib_UserMemento__gqlv_input {
+input rich_causeway_applib_UserMemento__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4146,7 +4146,7 @@ input causeway_applib_UserMemento__gqlv_input {
   ref: String
 }
 
-input causeway_applib_node_ActionNode__gqlv_input {
+input rich_causeway_applib_node_ActionNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4155,7 +4155,7 @@ input causeway_applib_node_ActionNode__gqlv_input {
   ref: String
 }
 
-input causeway_applib_node_CollectionNode__gqlv_input {
+input rich_causeway_applib_node_CollectionNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4164,7 +4164,7 @@ input causeway_applib_node_CollectionNode__gqlv_input {
   ref: String
 }
 
-input causeway_applib_node_FacetAttrNode__gqlv_input {
+input rich_causeway_applib_node_FacetAttrNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4173,7 +4173,7 @@ input causeway_applib_node_FacetAttrNode__gqlv_input {
   ref: String
 }
 
-input causeway_applib_node_FacetNode__gqlv_input {
+input rich_causeway_applib_node_FacetNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4182,7 +4182,7 @@ input causeway_applib_node_FacetNode__gqlv_input {
   ref: String
 }
 
-input causeway_conf_ConfigurationProperty__gqlv_input {
+input rich_causeway_conf_ConfigurationProperty__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4191,7 +4191,7 @@ input causeway_conf_ConfigurationProperty__gqlv_input {
   ref: String
 }
 
-input causeway_conf_ConfigurationViewmodel__gqlv_input {
+input rich_causeway_conf_ConfigurationViewmodel__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4200,7 +4200,7 @@ input causeway_conf_ConfigurationViewmodel__gqlv_input {
   ref: String
 }
 
-input causeway_feat_ApplicationFeatureViewModel__gqlv_input {
+input rich_causeway_feat_ApplicationFeatureViewModel__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4209,7 +4209,7 @@ input causeway_feat_ApplicationFeatureViewModel__gqlv_input {
   ref: String
 }
 
-input causeway_feat_ApplicationNamespace__gqlv_input {
+input rich_causeway_feat_ApplicationNamespace__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4218,7 +4218,7 @@ input causeway_feat_ApplicationNamespace__gqlv_input {
   ref: String
 }
 
-input causeway_feat_ApplicationTypeAction__gqlv_input {
+input rich_causeway_feat_ApplicationTypeAction__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4227,7 +4227,7 @@ input causeway_feat_ApplicationTypeAction__gqlv_input {
   ref: String
 }
 
-input causeway_feat_ApplicationTypeCollection__gqlv_input {
+input rich_causeway_feat_ApplicationTypeCollection__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4236,7 +4236,7 @@ input causeway_feat_ApplicationTypeCollection__gqlv_input {
   ref: String
 }
 
-input causeway_feat_ApplicationTypeMember__gqlv_input {
+input rich_causeway_feat_ApplicationTypeMember__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4245,7 +4245,7 @@ input causeway_feat_ApplicationTypeMember__gqlv_input {
   ref: String
 }
 
-input causeway_feat_ApplicationTypeProperty__gqlv_input {
+input rich_causeway_feat_ApplicationTypeProperty__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4254,7 +4254,7 @@ input causeway_feat_ApplicationTypeProperty__gqlv_input {
   ref: String
 }
 
-input causeway_feat_ApplicationType__gqlv_input {
+input rich_causeway_feat_ApplicationType__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4263,7 +4263,7 @@ input causeway_feat_ApplicationType__gqlv_input {
   ref: String
 }
 
-input causeway_schema_metamodel_v2_DomainClassDto__gqlv_input {
+input rich_causeway_schema_metamodel_v2_DomainClassDto__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4272,7 +4272,7 @@ input causeway_schema_metamodel_v2_DomainClassDto__gqlv_input {
   ref: String
 }
 
-input causeway_schema_metamodel_v2_FacetHolder__gqlv_input {
+input rich_causeway_schema_metamodel_v2_FacetHolder__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4281,7 +4281,7 @@ input causeway_schema_metamodel_v2_FacetHolder__gqlv_input {
   ref: String
 }
 
-input causeway_security_LoginRedirect__gqlv_input {
+input rich_causeway_security_LoginRedirect__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4290,7 +4290,7 @@ input causeway_security_LoginRedirect__gqlv_input {
   ref: String
 }
 
-input causeway_testing_fixtures_FixtureResult__gqlv_input {
+input rich_causeway_testing_fixtures_FixtureResult__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4299,7 +4299,7 @@ input causeway_testing_fixtures_FixtureResult__gqlv_input {
   ref: String
 }
 
-input java_lang_Runnable__gqlv_input {
+input rich_java_lang_Runnable__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4308,7 +4308,7 @@ input java_lang_Runnable__gqlv_input {
   ref: String
 }
 
-input java_util_Map__gqlv_input {
+input rich_java_util_Map__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4317,7 +4317,7 @@ input java_util_Map__gqlv_input {
   ref: String
 }
 
-input java_util_SortedMap__gqlv_input {
+input rich_java_util_SortedMap__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4326,7 +4326,7 @@ input java_util_SortedMap__gqlv_input {
   ref: String
 }
 
-input java_util_concurrent_Callable__gqlv_input {
+input rich_java_util_concurrent_Callable__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4335,7 +4335,7 @@ input java_util_concurrent_Callable__gqlv_input {
   ref: String
 }
 
-input java_util_function_BiFunction__gqlv_input {
+input rich_java_util_function_BiFunction__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4344,7 +4344,7 @@ input java_util_function_BiFunction__gqlv_input {
   ref: String
 }
 
-input java_util_function_Consumer__gqlv_input {
+input rich_java_util_function_Consumer__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4353,7 +4353,7 @@ input java_util_function_Consumer__gqlv_input {
   ref: String
 }
 
-input java_util_function_Function__gqlv_input {
+input rich_java_util_function_Function__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4362,7 +4362,7 @@ input java_util_function_Function__gqlv_input {
   ref: String
 }
 
-input java_util_stream_Stream__gqlv_input {
+input rich_java_util_stream_Stream__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4371,7 +4371,7 @@ input java_util_stream_Stream__gqlv_input {
   ref: String
 }
 
-input org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input {
+input rich_org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4380,7 +4380,7 @@ input org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input {
   ref: String
 }
 
-input org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input {
+input rich_org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4389,7 +4389,7 @@ input org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input {
   ref: String
 }
 
-input org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input {
+input rich_org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4398,7 +4398,7 @@ input org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__
   ref: String
 }
 
-input university_dept_Department__gqlv_input {
+input rich_university_dept_Department__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4407,7 +4407,7 @@ input university_dept_Department__gqlv_input {
   ref: String
 }
 
-input university_dept_DeptHead__gqlv_input {
+input rich_university_dept_DeptHead__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4416,7 +4416,7 @@ input university_dept_DeptHead__gqlv_input {
   ref: String
 }
 
-input university_dept_Person__gqlv_input {
+input rich_university_dept_Person__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
@@ -4425,7 +4425,7 @@ input university_dept_Person__gqlv_input {
   ref: String
 }
 
-input university_dept_StaffMember__gqlv_input {
+input rich_university_dept_StaffMember__gqlv_input {
   "Use either 'id' or 'ref'; looks up an entity from the persistent data store, or if a view model, then recreates using the id as a memento of the object's state"
   id: ID
   "If object identified by 'id', then optionally specifies concrete type.  This is only required if the parameter type defines a super class"
diff --git a/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java b/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
index bf0b606d6c..d61b9dc25d 100644
--- a/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
+++ b/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
@@ -24,10 +24,6 @@ import graphql.GraphQL;
 import graphql.execution.SimpleDataFetcherExceptionHandler;
 import graphql.schema.GraphQLSchema;
 
-import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
-
-import org.apache.causeway.viewer.graphql.model.toplevel.GqlvTopLevelQueryForSimpleAndRich;
-
 import org.springframework.graphql.execution.GraphQlSource;
 import org.springframework.stereotype.Service;
 
@@ -36,9 +32,11 @@ import org.apache.causeway.core.config.environment.CausewaySystemEnvironment;
 import org.apache.causeway.core.config.metamodel.specloader.IntrospectionMode;
 import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
 import org.apache.causeway.viewer.graphql.model.context.Context;
+import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom;
+import org.apache.causeway.viewer.graphql.model.domain.rich.query.GqlvTopLevelRichSchema;
 import org.apache.causeway.viewer.graphql.model.registry.GraphQLTypeRegistry;
+import org.apache.causeway.viewer.graphql.model.toplevel.GqlvTopLevelForSimpleAndRich;
 import org.apache.causeway.viewer.graphql.model.toplevel.GqlvTopLevelMutation;
-import org.apache.causeway.viewer.graphql.model.domain.rich.GqlvTopLevelRichSchema;
 
 import lombok.val;
 
@@ -124,11 +122,12 @@ public class GraphQlSourceForCauseway implements GraphQlSource {
             final CausewayConfiguration.Viewer.Graphql.SchemaStyle schemaStyle) {
         switch (schemaStyle) {
             case SIMPLE_ONLY:
-                throw new IllegalStateException("SIMPLE_ONLY not yet supported");
+//                return new GqlvTopLevelSimpleSchema(context);
+                throw new IllegalStateException("Not yet implemented");
             case RICH_ONLY:
                 return new GqlvTopLevelRichSchema(context);
             case SIMPLE_AND_RICH:
-                return new GqlvTopLevelQueryForSimpleAndRich(context);
+                return new GqlvTopLevelForSimpleAndRich(context);
             default:
                 // shouldn't happen
                 throw new IllegalStateException(String.format(