Index: TODO
===================================================================
diff -u -r0f881e4bc45e927c8d84c1b1b468ef7537cb9b03 -r3016e6466668218392140bc884fa8bf489721eda
--- TODO	(.../TODO)	(revision 0f881e4bc45e927c8d84c1b1b468ef7537cb9b03)
+++ TODO	(.../TODO)	(revision 3016e6466668218392140bc884fa8bf489721eda)
@@ -5396,27 +5396,27 @@
 - don't invalidate class-level param caches during shutdown
 
 nsf.c: parameter passing reform
-- don't pass full argument list for filteing methods calle further 
+- don't pass full argument list for filtering methods calle further
   methods from C (such as new/create/... ) to allow processing of e.g. "--" in "new"
   to separate arguments to "new" cleanly from arguments passed to "create".
   Now we can use e.g. "C new -- -childof 123" in case class C has a property "childof".
-- extend c-generator to accept option "-objv0" to pass the original "objv[0]" to the 
+- extend c-generator to accept option "-objv0" to pass the original "objv[0]" to the
   called command. Since we had previously "allargs", we have to pass the objv[0] now
   differently
-- more thorough checking ISOBJ(someObj) macro for asserts 
+- more thorough checking ISOBJ(someObj) macro for asserts
   (use "assert(ISOBJ(someObj))" instead of just "assert(someObj)")
 - extend regression test
 
 nsf.c:
-- checked, that all CallDirectly() cases, where method is dispatched 
+- checked, that all CallDirectly() cases, where method is dispatched
   (no direct call) are covered by the regression tests
 - avoid double memcpy() in dispatch recreate by using ObjectDispatch()
   rather than CallMethod()
-- removed memcopy() in call-directy for "create"
+- removed memcpy() in call-directy for "create"
 - some more cleanup
 
 gentclAPI.tcl:
-- added option "-flags", which can be used for every parameter. 
+- added option "-flags", which can be used for every parameter.
   example: .... -flags NSF_ARG_NOLEADINGDASH ....
 - experimental: use NSF_ARG_NOLEADINGDASH for pattern "info subclass"
   to improve error messages.
@@ -5436,10 +5436,10 @@
 
 
 nsf.c:
-- allow abbreaviated nonpos args
-- change name of relationslot "superclass" to "superclasses".
-  (part of a planned change to use plural for setvalued parameters,
-  "info superclasses" and similar changes for mixins/filters will 
+- allow abbreviated nonpos args
+- change name of relation slot "superclass" to "superclasses".
+  (part of a planned change to use plural for set-valued parameters,
+  "info superclasses" and similar changes for mixins/filters will
   probably follow)
 
 nx.tcl: pluralism reform part 2
@@ -5455,7 +5455,7 @@
     /cls/ configure -filter -> /cls/ configure -filters
     /obj/ configure -object-mixin -> /obj/ configure -object-mixins
     /obj/ configure -object-filter -> /obj/ configure -object-filters
-- added handling for calling relationslot with unknown sub method
+- added handling for calling relation slot with unknown sub method
 
 
 nx.tcl:
@@ -5464,10 +5464,10 @@
 
 nx.tcl: pluralism reform part 3
 - introduced simple plural form "mixins" and "filters" for introspection
-- moved differentiated interface into slot methods. 
+- moved differentiated interface into slot methods.
   the slot methods "get" stay symmetrically to "set",
-  but additional methods "classes" or "methods" are used 
-  like "guard" to obtain partial results of the 
+  but additional methods "classes" or "methods" are used
+  like "guard" to obtain partial results of the
   mixin and filter specs
 - changed info methods
     /cls/ info mixin classes         -> /cls/ info mixins
@@ -5479,18 +5479,27 @@
     /cls/ info filter guard
     /obj/ info object mixin guard
     /obj/ info object filter guard
-- added 
-    /cls/ mixin classes
-    /cls/ filter methods
-    /obj/ object filter methods
-    /obj/ object mixin classes
+- added
+    /cls/ mixins classes
+    /cls/ filters methods
+    /obj/ object filters methods
+    /obj/ object mixins classes
+- asymmetry between "/obj/ info lookup mixins" vs. "/obj/ info ?object? mixin classes" resolved.
 
+nsf.c:
+- dropped unused object::info::is
+- renamed
+   ::nsf::methods::class::info::filtermethods  -> ::nsf::methods::class::info::filters
+   ::nsf::methods::object::info::filtermethods -> ::nsf::methods::object::info::filters
+   ::nsf::methods::class::info::mixinclasses   -> ::nsf::methods::class::info::mixins
+   ::nsf::methods::object::info::mixinclasses  -> ::nsf::methods::object::info::mixins
+
 ========================================================================
 TODO:
 
-- EnsembleObject->unknown is still not correct 
-  "C info object mixin classes" complains about "object" 
-  and not about "mixin". 
+- EnsembleObject->unknown is still not correct
+  "C info object mixin classes" complains about "object"
+  and not about "mixin".
   The message for "C info mixin classes" is fine
 
 - finish pluaral reform
@@ -5502,17 +5511,9 @@
   (similar to "info method syntax /methodName/")
 
 - we could drop methods::object::info::objectparameter
-- do we need: ::nsf::methods::object::info::is ? objectInfoMethod is NsfObjInfoIsMethod 
-
-- we should rename ::nsf::methods::class::info::filtermethods to ::nsf::methods::class::info::filters
-- we should rename ::nsf::methods::class::info::mixinclasses to ::nsf::methods::class::info::mixins
-- can we drop ::nsf::methods::class::info::filterguards ?
-- can we drop ::nsf::methods::class::info::mixinguards ?
-
 - remove // comments
 
 - what should happen with: "/class/ info mixin classes -heritage"
-- asymmetry between "/obj/ info lookup mixins" vs. "/obj/ info ?object? mixin classes"
 
 - check deactivated tests in tests/serialize.test
   C(One), C(IgnoreAll), C(None2)
Index: generic/nsf.c
===================================================================
diff -u -r2a3ac3f00afd5c5cfdfb1a9fff667cdec5b861be -r3016e6466668218392140bc884fa8bf489721eda
--- generic/nsf.c	(.../nsf.c)	(revision 2a3ac3f00afd5c5cfdfb1a9fff667cdec5b861be)
+++ generic/nsf.c	(.../nsf.c)	(revision 3016e6466668218392140bc884fa8bf489721eda)
@@ -28756,14 +28756,14 @@
 }
 
 /*
-objectInfoMethod filtermethods NsfObjInfoFiltermethodsMethod {
+objectInfoMethod filters NsfObjInfoFiltersMethod {
   {-argName "-guards" -nrargs 0 -type switch}
   {-argName "pattern"}
 }
 */
 static int
-NsfObjInfoFiltermethodsMethod(Tcl_Interp *interp, NsfObject *object, int withGuards,
-                              CONST char *pattern) {
+NsfObjInfoFiltersMethod(Tcl_Interp *interp, NsfObject *object, int withGuards,
+                        CONST char *pattern) {
   NsfObjectOpt *opt = object->opt;
 
   assert(interp);
@@ -28836,35 +28836,6 @@
 }
 
 /*
-objectInfoMethod is NsfObjInfoIsMethod {
-  {-argName "objectkind" -required 1 -type "class|baseclass|metaclass"}
-}
-*/
-static int
-NsfObjInfoIsMethod(Tcl_Interp *interp, NsfObject *object, int objectkind) {
-  int success = 0;
-
-  assert(interp);
-  assert(object);
-
-  switch (objectkind) {
-  case ObjectkindClassIdx:
-    success = (NsfObjectIsClass(object) > 0);
-    break;
-
-  case ObjectkindMetaclassIdx:
-    success = NsfObjectIsClass(object) && IsMetaClass(interp, (NsfClass *)object, 1);
-    break;
-
-  case ObjectkindBaseclassIdx:
-    success = NsfObjectIsClass(object) && IsBaseClass(object);
-    break;
-  }
-  Tcl_SetIntObj(Tcl_GetObjResult(interp), success);
-  return TCL_OK;
-}
-
-/*
 objectInfoMethod lookupfilter NsfObjInfoLookupFilterMethod {
   {-argName "filter" -required 1}
 }
@@ -29190,14 +29161,14 @@
 }
 
 /*
-objectInfoMethod mixinclasses NsfObjInfoMixinclassesMethod {
+objectInfoMethod mixins NsfObjInfoMixinsMethod {
   {-argName "-guards" -nrargs 0 -type switch}
   {-argName "pattern" -type objpattern}
 }
 */
 static int
-NsfObjInfoMixinclassesMethod(Tcl_Interp *interp, NsfObject *object, int withGuards,
-			     CONST char *patternString, NsfObject *patternObj) {
+NsfObjInfoMixinsMethod(Tcl_Interp *interp, NsfObject *object, int withGuards,
+                       CONST char *patternString, NsfObject *patternObj) {
   assert(interp);
   assert(object);
 
@@ -29425,14 +29396,14 @@
 }
 
 /*
-classInfoMethod filtermethods NsfClassInfoFiltermethodsMethod {
-  {-argName "-guards"}
+classInfoMethod filters NsfClassInfoFiltersMethod {
+  {-argName "-guards" -nrargs 0 -type switch}
   {-argName "pattern"}
 }
 */
 static int
-NsfClassInfoFiltermethodsMethod(Tcl_Interp *interp, NsfClass *class,
-				int withGuards, CONST char *pattern) {
+NsfClassInfoFiltersMethod(Tcl_Interp *interp, NsfClass *class,
+                          int withGuards, CONST char *pattern) {
 
   assert(interp);
   assert(class);
@@ -29650,17 +29621,17 @@
 }
 
 /*
-classInfoMethod mixinclasses NsfClassInfoMixinclassesMethod {
-  {-argName "-closure" -nrargs 0}
-  {-argName "-guards"}
-  {-argName "-heritage"}
+classInfoMethod mixins NsfClassInfoMixinsMethod {
+  {-argName "-closure" -nrargs 0 -type switch}
+  {-argName "-guards" -nrargs 0 -type switch}
+  {-argName "-heritage" -nrargs 0 -type switch}
   {-argName "pattern" -type objpattern}
 }
 */
 static int
-NsfClassInfoMixinclassesMethod(Tcl_Interp *interp, NsfClass *class,
-			       int withClosure, int withGuards, int withHeritage,
-			       CONST char *patternString, NsfObject *patternObj) {
+NsfClassInfoMixinsMethod(Tcl_Interp *interp, NsfClass *class,
+                         int withClosure, int withGuards, int withHeritage,
+                         CONST char *patternString, NsfObject *patternObj) {
   NsfClassOpt *opt = class->opt;
   Tcl_Obj *resultObj;
   int result = TCL_OK;
Index: generic/nsfAPI.decls
===================================================================
diff -u -rcd7387dce218900697565aeabc0e58afb0294a6a -r3016e6466668218392140bc884fa8bf489721eda
--- generic/nsfAPI.decls	(.../nsfAPI.decls)	(revision cd7387dce218900697565aeabc0e58afb0294a6a)
+++ generic/nsfAPI.decls	(.../nsfAPI.decls)	(revision 3016e6466668218392140bc884fa8bf489721eda)
@@ -405,7 +405,7 @@
 objectInfoMethod filterguard NsfObjInfoFilterguardMethod {
   {-argName "filter" -required 1}
 }
-objectInfoMethod filtermethods NsfObjInfoFiltermethodsMethod {
+objectInfoMethod filters NsfObjInfoFiltersMethod {
   {-argName "-guards" -nrargs 0 -type switch}
   {-argName "pattern"}
 }
@@ -421,9 +421,6 @@
 objectInfoMethod hastype NsfObjInfoHasTypeMethod {
   {-argName "class" -required 1 -type class}
 }
-objectInfoMethod is NsfObjInfoIsMethod {
-  {-argName "objectkind" -required 1 -type "class|baseclass|metaclass"}
-}
 objectInfoMethod lookupfilter NsfObjInfoLookupFilterMethod {
   {-argName "filter" -required 1}
 }
@@ -463,7 +460,7 @@
   {-argName "pattern" -required 0}
 }
 
-objectInfoMethod mixinclasses NsfObjInfoMixinclassesMethod {
+objectInfoMethod mixins NsfObjInfoMixinsMethod {
   {-argName "-guards" -nrargs 0 -type switch}
   {-argName "pattern" -type objpattern}
 }
@@ -496,7 +493,7 @@
 classInfoMethod filterguard NsfClassInfoFilterguardMethod {
   {-argName "filter" -required 1}
 }
-classInfoMethod filtermethods NsfClassInfoFiltermethodsMethod {
+classInfoMethod filters NsfClassInfoFiltersMethod {
   {-argName "-guards" -nrargs 0 -type switch}
   {-argName "pattern"}
 }
@@ -524,7 +521,7 @@
   {-argName "-source" -nrargs 1 -type "all|application|system" -default all}
   {-argName "pattern"}
 }
-classInfoMethod mixinclasses NsfClassInfoMixinclassesMethod {
+classInfoMethod mixins NsfClassInfoMixinsMethod {
   {-argName "-closure" -nrargs 0 -type switch}
   {-argName "-guards" -nrargs 0 -type switch}
   {-argName "-heritage" -nrargs 0 -type switch}
Index: generic/nsfAPI.h
===================================================================
diff -u -rcd7387dce218900697565aeabc0e58afb0294a6a -r3016e6466668218392140bc884fa8bf489721eda
--- generic/nsfAPI.h	(.../nsfAPI.h)	(revision cd7387dce218900697565aeabc0e58afb0294a6a)
+++ generic/nsfAPI.h	(.../nsfAPI.h)	(revision 3016e6466668218392140bc884fa8bf489721eda)
@@ -246,19 +246,6 @@
   return result;
 }
   
-enum ObjectkindIdx {ObjectkindNULL, ObjectkindClassIdx, ObjectkindBaseclassIdx, ObjectkindMetaclassIdx};
-
-static int ConvertToObjectkind(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
-			    ClientData *clientData, Tcl_Obj **outObjPtr) {
-  int index, result;
-  static CONST char *opts[] = {"class", "baseclass", "metaclass", NULL};
-  (void)pPtr;
-  result = Tcl_GetIndexFromObj(interp, objPtr, opts, "objectkind", 0, &index);
-  *clientData = (ClientData) INT2PTR(index + 1);
-  *outObjPtr = objPtr;
-  return result;
-}
-  
 enum InfoobjectparametersubcmdIdx {InfoobjectparametersubcmdNULL, InfoobjectparametersubcmdDefinitionsIdx, InfoobjectparametersubcmdListIdx, InfoobjectparametersubcmdNamesIdx, InfoobjectparametersubcmdSyntaxIdx};
 
 static int ConvertToInfoobjectparametersubcmd(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
@@ -281,7 +268,6 @@
   {ConvertToMethodtype, "all|scripted|builtin|alias|forwarder|object|setter|nsfproc"},
   {ConvertToFrame, "method|object|default"},
   {ConvertToCurrentoption, "proc|method|methodpath|object|class|activelevel|args|activemixin|calledproc|calledmethod|calledclass|callingproc|callingmethod|callingclass|callinglevel|callingobject|filterreg|isnextcall|nextmethod"},
-  {ConvertToObjectkind, "class|baseclass|metaclass"},
   {ConvertToMethodproperty, "class-only|call-private|call-protected|redefine-protected|returns|slotobj"},
   {ConvertToRelationtype, "object-mixin|class-mixin|object-filter|class-filter|class|superclass|rootclass"},
   {ConvertToSource, "all|application|system"},
@@ -295,7 +281,7 @@
     
 
 /* just to define the symbol */
-static Nsf_methodDefinition method_definitions[111];
+static Nsf_methodDefinition method_definitions[110];
   
 static CONST char *method_command_namespace_names[] = {
   "::nsf::methods::object::info",
@@ -323,7 +309,7 @@
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfClassInfoFilterguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
-static int NsfClassInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
+static int NsfClassInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfClassInfoForwardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
@@ -337,10 +323,10 @@
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfClassInfoMixinOfMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
-static int NsfClassInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
-  NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfClassInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
+static int NsfClassInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
+  NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfClassInfoSlotobjectsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfClassInfoSubclassMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
@@ -479,7 +465,7 @@
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoFilterguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
-static int NsfObjInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
+static int NsfObjInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoForwardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
@@ -489,8 +475,6 @@
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoHasnamespaceMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
-static int NsfObjInfoIsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
-  NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoLookupFilterMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoLookupFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
@@ -507,10 +491,10 @@
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoMethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
-static int NsfObjInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
-  NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
+static int NsfObjInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
+  NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoNameMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoObjectparameterMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv [])
@@ -544,7 +528,7 @@
   NSF_nonnull(1) NSF_nonnull(2);
 static int NsfClassInfoFilterguardMethod(Tcl_Interp *interp, NsfClass *cl, CONST char *filter)
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
-static int NsfClassInfoFiltermethodsMethod(Tcl_Interp *interp, NsfClass *cl, int withGuards, CONST char *pattern)
+static int NsfClassInfoFiltersMethod(Tcl_Interp *interp, NsfClass *cl, int withGuards, CONST char *pattern)
   NSF_nonnull(1) NSF_nonnull(2);
 static int NsfClassInfoForwardMethod(Tcl_Interp *interp, NsfClass *cl, int withDefinition, CONST char *name)
   NSF_nonnull(1) NSF_nonnull(2);
@@ -558,10 +542,10 @@
   NSF_nonnull(1) NSF_nonnull(2);
 static int NsfClassInfoMixinOfMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withScope, CONST char *patternString, NsfObject *patternObject)
   NSF_nonnull(1) NSF_nonnull(2);
-static int NsfClassInfoMixinclassesMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withGuards, int withHeritage, CONST char *patternString, NsfObject *patternObject)
-  NSF_nonnull(1) NSF_nonnull(2);
 static int NsfClassInfoMixinguardMethod(Tcl_Interp *interp, NsfClass *cl, CONST char *mixin)
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
+static int NsfClassInfoMixinsMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withGuards, int withHeritage, CONST char *patternString, NsfObject *patternObject)
+  NSF_nonnull(1) NSF_nonnull(2);
 static int NsfClassInfoSlotobjectsMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withSource, NsfClass *withType, CONST char *pattern)
   NSF_nonnull(1) NSF_nonnull(2);
 static int NsfClassInfoSubclassMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withDependent, CONST char *patternString, NsfObject *patternObject)
@@ -700,7 +684,7 @@
   NSF_nonnull(1) NSF_nonnull(2);
 static int NsfObjInfoFilterguardMethod(Tcl_Interp *interp, NsfObject *obj, CONST char *filter)
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
-static int NsfObjInfoFiltermethodsMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *pattern)
+static int NsfObjInfoFiltersMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *pattern)
   NSF_nonnull(1) NSF_nonnull(2);
 static int NsfObjInfoForwardMethod(Tcl_Interp *interp, NsfObject *obj, int withDefinition, CONST char *name)
   NSF_nonnull(1) NSF_nonnull(2);
@@ -710,8 +694,6 @@
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
 static int NsfObjInfoHasnamespaceMethod(Tcl_Interp *interp, NsfObject *obj)
   NSF_nonnull(1) NSF_nonnull(2);
-static int NsfObjInfoIsMethod(Tcl_Interp *interp, NsfObject *obj, int objectkind)
-  NSF_nonnull(1) NSF_nonnull(2);
 static int NsfObjInfoLookupFilterMethod(Tcl_Interp *interp, NsfObject *obj, CONST char *filter)
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
 static int NsfObjInfoLookupFiltersMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *pattern)
@@ -728,10 +710,10 @@
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4);
 static int NsfObjInfoMethodsMethod(Tcl_Interp *interp, NsfObject *obj, int withCallprotection, int withType, int withPath, CONST char *pattern)
   NSF_nonnull(1) NSF_nonnull(2);
-static int NsfObjInfoMixinclassesMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *patternString, NsfObject *patternObject)
-  NSF_nonnull(1) NSF_nonnull(2);
 static int NsfObjInfoMixinguardMethod(Tcl_Interp *interp, NsfObject *obj, CONST char *mixin)
   NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
+static int NsfObjInfoMixinsMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *patternString, NsfObject *patternObject)
+  NSF_nonnull(1) NSF_nonnull(2);
 static int NsfObjInfoNameMethod(Tcl_Interp *interp, NsfObject *obj)
   NSF_nonnull(1) NSF_nonnull(2);
 static int NsfObjInfoObjectparameterMethod(Tcl_Interp *interp, NsfObject *obj, int subcmd, CONST char *pattern)
@@ -756,15 +738,15 @@
  NsfCRecreateMethodIdx,
  NsfCSuperclassMethodIdx,
  NsfClassInfoFilterguardMethodIdx,
- NsfClassInfoFiltermethodsMethodIdx,
+ NsfClassInfoFiltersMethodIdx,
  NsfClassInfoForwardMethodIdx,
  NsfClassInfoHeritageMethodIdx,
  NsfClassInfoInstancesMethodIdx,
  NsfClassInfoMethodMethodIdx,
  NsfClassInfoMethodsMethodIdx,
  NsfClassInfoMixinOfMethodIdx,
- NsfClassInfoMixinclassesMethodIdx,
  NsfClassInfoMixinguardMethodIdx,
+ NsfClassInfoMixinsMethodIdx,
  NsfClassInfoSlotobjectsMethodIdx,
  NsfClassInfoSubclassMethodIdx,
  NsfClassInfoSuperclassMethodIdx,
@@ -834,12 +816,11 @@
  NsfObjInfoChildrenMethodIdx,
  NsfObjInfoClassMethodIdx,
  NsfObjInfoFilterguardMethodIdx,
- NsfObjInfoFiltermethodsMethodIdx,
+ NsfObjInfoFiltersMethodIdx,
  NsfObjInfoForwardMethodIdx,
  NsfObjInfoHasMixinMethodIdx,
  NsfObjInfoHasTypeMethodIdx,
  NsfObjInfoHasnamespaceMethodIdx,
- NsfObjInfoIsMethodIdx,
  NsfObjInfoLookupFilterMethodIdx,
  NsfObjInfoLookupFiltersMethodIdx,
  NsfObjInfoLookupMethodMethodIdx,
@@ -848,8 +829,8 @@
  NsfObjInfoLookupSlotsMethodIdx,
  NsfObjInfoMethodMethodIdx,
  NsfObjInfoMethodsMethodIdx,
- NsfObjInfoMixinclassesMethodIdx,
  NsfObjInfoMixinguardMethodIdx,
+ NsfObjInfoMixinsMethodIdx,
  NsfObjInfoNameMethodIdx,
  NsfObjInfoObjectparameterMethodIdx,
  NsfObjInfoParentMethodIdx,
@@ -1070,22 +1051,22 @@
 }
 
 static int
-NsfClassInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+NsfClassInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
   ParseContext pc;
   NsfClass *cl =  NsfObjectToClass(clientData);
 
   assert(clientData);
   assert(objc > 0);
   if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0]));
   if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0],
-                     method_definitions[NsfClassInfoFiltermethodsMethodIdx].paramDefs,
-                     method_definitions[NsfClassInfoFiltermethodsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
+                     method_definitions[NsfClassInfoFiltersMethodIdx].paramDefs,
+                     method_definitions[NsfClassInfoFiltersMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
                      &pc) == TCL_OK)) {
     int withGuards = (int )PTR2INT(pc.clientData[0]);
     CONST char *pattern = (CONST char *)pc.clientData[1];
 
     assert(pc.status == 0);
-    return NsfClassInfoFiltermethodsMethod(interp, cl, withGuards, pattern);
+    return NsfClassInfoFiltersMethod(interp, cl, withGuards, pattern);
 
   } else {
     return TCL_ERROR;
@@ -1263,17 +1244,39 @@
 }
 
 static int
-NsfClassInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+NsfClassInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
   ParseContext pc;
   NsfClass *cl =  NsfObjectToClass(clientData);
 
   assert(clientData);
   assert(objc > 0);
   if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0]));
   if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0],
-                     method_definitions[NsfClassInfoMixinclassesMethodIdx].paramDefs,
-                     method_definitions[NsfClassInfoMixinclassesMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
+                     method_definitions[NsfClassInfoMixinguardMethodIdx].paramDefs,
+                     method_definitions[NsfClassInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
                      &pc) == TCL_OK)) {
+    CONST char *mixin = (CONST char *)pc.clientData[0];
+
+    assert(pc.status == 0);
+    return NsfClassInfoMixinguardMethod(interp, cl, mixin);
+
+  } else {
+    return TCL_ERROR;
+  }
+}
+
+static int
+NsfClassInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+  ParseContext pc;
+  NsfClass *cl =  NsfObjectToClass(clientData);
+
+  assert(clientData);
+  assert(objc > 0);
+  if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0]));
+  if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0],
+                     method_definitions[NsfClassInfoMixinsMethodIdx].paramDefs,
+                     method_definitions[NsfClassInfoMixinsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
+                     &pc) == TCL_OK)) {
     int withClosure = (int )PTR2INT(pc.clientData[0]);
     int withGuards = (int )PTR2INT(pc.clientData[1]);
     int withHeritage = (int )PTR2INT(pc.clientData[2]);
@@ -1290,7 +1293,7 @@
     }
           
     assert(pc.status == 0);
-    returnCode = NsfClassInfoMixinclassesMethod(interp, cl, withClosure, withGuards, withHeritage, patternString, patternObject);
+    returnCode = NsfClassInfoMixinsMethod(interp, cl, withClosure, withGuards, withHeritage, patternString, patternObject);
 
     if (pattern) {
       DECR_REF_COUNT2("patternObj", pattern);
@@ -1302,28 +1305,6 @@
 }
 
 static int
-NsfClassInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
-  ParseContext pc;
-  NsfClass *cl =  NsfObjectToClass(clientData);
-
-  assert(clientData);
-  assert(objc > 0);
-  if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0]));
-  if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0],
-                     method_definitions[NsfClassInfoMixinguardMethodIdx].paramDefs,
-                     method_definitions[NsfClassInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
-                     &pc) == TCL_OK)) {
-    CONST char *mixin = (CONST char *)pc.clientData[0];
-
-    assert(pc.status == 0);
-    return NsfClassInfoMixinguardMethod(interp, cl, mixin);
-
-  } else {
-    return TCL_ERROR;
-  }
-}
-
-static int
 NsfClassInfoSlotobjectsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
   ParseContext pc;
   NsfClass *cl =  NsfObjectToClass(clientData);
@@ -2708,22 +2689,22 @@
 }
 
 static int
-NsfObjInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+NsfObjInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
   ParseContext pc;
   NsfObject *obj =  (NsfObject *)clientData;
 
   assert(clientData);
   assert(objc > 0);
   if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object",  ObjStr(objv[0]));
   if (likely(ArgumentParse(interp, objc, objv, obj, objv[0],
-                     method_definitions[NsfObjInfoFiltermethodsMethodIdx].paramDefs,
-                     method_definitions[NsfObjInfoFiltermethodsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
+                     method_definitions[NsfObjInfoFiltersMethodIdx].paramDefs,
+                     method_definitions[NsfObjInfoFiltersMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
                      &pc) == TCL_OK)) {
     int withGuards = (int )PTR2INT(pc.clientData[0]);
     CONST char *pattern = (CONST char *)pc.clientData[1];
 
     assert(pc.status == 0);
-    return NsfObjInfoFiltermethodsMethod(interp, obj, withGuards, pattern);
+    return NsfObjInfoFiltersMethod(interp, obj, withGuards, pattern);
 
   } else {
     return TCL_ERROR;
@@ -2817,28 +2798,6 @@
 }
 
 static int
-NsfObjInfoIsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
-  ParseContext pc;
-  NsfObject *obj =  (NsfObject *)clientData;
-
-  assert(clientData);
-  assert(objc > 0);
-  if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object",  ObjStr(objv[0]));
-  if (likely(ArgumentParse(interp, objc, objv, obj, objv[0],
-                     method_definitions[NsfObjInfoIsMethodIdx].paramDefs,
-                     method_definitions[NsfObjInfoIsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
-                     &pc) == TCL_OK)) {
-    int objectkind = (int )PTR2INT(pc.clientData[0]);
-
-    assert(pc.status == 0);
-    return NsfObjInfoIsMethod(interp, obj, objectkind);
-
-  } else {
-    return TCL_ERROR;
-  }
-}
-
-static int
 NsfObjInfoLookupFilterMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
   ParseContext pc;
   NsfObject *obj =  (NsfObject *)clientData;
@@ -3040,59 +2999,59 @@
 }
 
 static int
-NsfObjInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+NsfObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
   ParseContext pc;
   NsfObject *obj =  (NsfObject *)clientData;
 
   assert(clientData);
   assert(objc > 0);
   if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object",  ObjStr(objv[0]));
   if (likely(ArgumentParse(interp, objc, objv, obj, objv[0],
-                     method_definitions[NsfObjInfoMixinclassesMethodIdx].paramDefs,
-                     method_definitions[NsfObjInfoMixinclassesMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
+                     method_definitions[NsfObjInfoMixinguardMethodIdx].paramDefs,
+                     method_definitions[NsfObjInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
                      &pc) == TCL_OK)) {
-    int withGuards = (int )PTR2INT(pc.clientData[0]);
-    CONST char *patternString = NULL;
-    NsfObject *patternObject = NULL;
-    Tcl_Obj *pattern = (Tcl_Obj *)pc.clientData[1];
-    int returnCode;
+    CONST char *mixin = (CONST char *)pc.clientData[0];
 
-    if (GetMatchObject(interp, pattern, objc>1 ? objv[1] : NULL, &patternObject, &patternString) == -1) {
-      if (pattern) {
-        DECR_REF_COUNT2("patternObj", pattern);
-      }
-      return TCL_OK;
-    }
-          
     assert(pc.status == 0);
-    returnCode = NsfObjInfoMixinclassesMethod(interp, obj, withGuards, patternString, patternObject);
+    return NsfObjInfoMixinguardMethod(interp, obj, mixin);
 
-    if (pattern) {
-      DECR_REF_COUNT2("patternObj", pattern);
-    }
-    return returnCode;
   } else {
     return TCL_ERROR;
   }
 }
 
 static int
-NsfObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+NsfObjInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
   ParseContext pc;
   NsfObject *obj =  (NsfObject *)clientData;
 
   assert(clientData);
   assert(objc > 0);
   if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object",  ObjStr(objv[0]));
   if (likely(ArgumentParse(interp, objc, objv, obj, objv[0],
-                     method_definitions[NsfObjInfoMixinguardMethodIdx].paramDefs,
-                     method_definitions[NsfObjInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
+                     method_definitions[NsfObjInfoMixinsMethodIdx].paramDefs,
+                     method_definitions[NsfObjInfoMixinsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
                      &pc) == TCL_OK)) {
-    CONST char *mixin = (CONST char *)pc.clientData[0];
+    int withGuards = (int )PTR2INT(pc.clientData[0]);
+    CONST char *patternString = NULL;
+    NsfObject *patternObject = NULL;
+    Tcl_Obj *pattern = (Tcl_Obj *)pc.clientData[1];
+    int returnCode;
 
+    if (GetMatchObject(interp, pattern, objc>1 ? objv[1] : NULL, &patternObject, &patternString) == -1) {
+      if (pattern) {
+        DECR_REF_COUNT2("patternObj", pattern);
+      }
+      return TCL_OK;
+    }
+          
     assert(pc.status == 0);
-    return NsfObjInfoMixinguardMethod(interp, obj, mixin);
+    returnCode = NsfObjInfoMixinsMethod(interp, obj, withGuards, patternString, patternObject);
 
+    if (pattern) {
+      DECR_REF_COUNT2("patternObj", pattern);
+    }
+    return returnCode;
   } else {
     return TCL_ERROR;
   }
@@ -3227,7 +3186,7 @@
   }
 }
 
-static Nsf_methodDefinition method_definitions[111] = {
+static Nsf_methodDefinition method_definitions[110] = {
 {"::nsf::methods::class::alloc", NsfCAllocMethodStub, 1, {
   {"objectName", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
@@ -3263,7 +3222,7 @@
 {"::nsf::methods::class::info::filterguard", NsfClassInfoFilterguardMethodStub, 1, {
   {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
-{"::nsf::methods::class::info::filtermethods", NsfClassInfoFiltermethodsMethodStub, 2, {
+{"::nsf::methods::class::info::filters", NsfClassInfoFiltersMethodStub, 2, {
   {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
   {"pattern", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
@@ -3295,15 +3254,15 @@
   {"-scope", NSF_ARG_IS_ENUMERATION, 1, ConvertToScope, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
   {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}}
 },
-{"::nsf::methods::class::info::mixinclasses", NsfClassInfoMixinclassesMethodStub, 4, {
+{"::nsf::methods::class::info::mixinguard", NsfClassInfoMixinguardMethodStub, 1, {
+  {"mixin", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
+},
+{"::nsf::methods::class::info::mixins", NsfClassInfoMixinsMethodStub, 4, {
   {"-closure", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
   {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
   {"-heritage", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
   {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}}
 },
-{"::nsf::methods::class::info::mixinguard", NsfClassInfoMixinguardMethodStub, 1, {
-  {"mixin", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
-},
 {"::nsf::methods::class::info::slotobjects", NsfClassInfoSlotobjectsMethodStub, 4, {
   {"-closure", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
   {"-source", NSF_ARG_IS_ENUMERATION, 1, ConvertToSource, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
@@ -3615,7 +3574,7 @@
 {"::nsf::methods::object::info::filterguard", NsfObjInfoFilterguardMethodStub, 1, {
   {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
-{"::nsf::methods::object::info::filtermethods", NsfObjInfoFiltermethodsMethodStub, 2, {
+{"::nsf::methods::object::info::filters", NsfObjInfoFiltersMethodStub, 2, {
   {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
   {"pattern", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
@@ -3632,9 +3591,6 @@
 {"::nsf::methods::object::info::hasnamespace", NsfObjInfoHasnamespaceMethodStub, 0, {
   {NULL, 0, 0, NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
-{"::nsf::methods::object::info::is", NsfObjInfoIsMethodStub, 1, {
-  {"objectkind", NSF_ARG_REQUIRED|NSF_ARG_IS_ENUMERATION, 1, ConvertToObjectkind, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
-},
 {"::nsf::methods::object::info::lookupfilter", NsfObjInfoLookupFilterMethodStub, 1, {
   {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
@@ -3673,13 +3629,13 @@
   {"-path", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
   {"pattern", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
-{"::nsf::methods::object::info::mixinclasses", NsfObjInfoMixinclassesMethodStub, 2, {
-  {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
-  {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}}
-},
 {"::nsf::methods::object::info::mixinguard", NsfObjInfoMixinguardMethodStub, 1, {
   {"mixin", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
+{"::nsf::methods::object::info::mixins", NsfObjInfoMixinsMethodStub, 2, {
+  {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL},
+  {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}}
+},
 {"::nsf::methods::object::info::name", NsfObjInfoNameMethodStub, 0, {
   {NULL, 0, 0, NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
 },
Index: generic/nsfAPI.nxdocindex
===================================================================
diff -u -rd86805a2250aaa861470d4f4a13945d603585aca -r3016e6466668218392140bc884fa8bf489721eda
--- generic/nsfAPI.nxdocindex	(.../nsfAPI.nxdocindex)	(revision d86805a2250aaa861470d4f4a13945d603585aca)
+++ generic/nsfAPI.nxdocindex	(.../nsfAPI.nxdocindex)	(revision 3016e6466668218392140bc884fa8bf489721eda)
@@ -73,12 +73,11 @@
 set ::nxdoc::include(::nsf::methods::object::info::children) 0
 set ::nxdoc::include(::nsf::methods::object::info::class) 0
 set ::nxdoc::include(::nsf::methods::object::info::filterguard) 0
-set ::nxdoc::include(::nsf::methods::object::info::filtermethods) 0
+set ::nxdoc::include(::nsf::methods::object::info::filters) 0
 set ::nxdoc::include(::nsf::methods::object::info::forward) 0
 set ::nxdoc::include(::nsf::methods::object::info::hasmixin) 0
 set ::nxdoc::include(::nsf::methods::object::info::hasnamespace) 0
 set ::nxdoc::include(::nsf::methods::object::info::hastype) 0
-set ::nxdoc::include(::nsf::methods::object::info::is) 0
 set ::nxdoc::include(::nsf::methods::object::info::lookupfilter) 0
 set ::nxdoc::include(::nsf::methods::object::info::lookupfilters) 0
 set ::nxdoc::include(::nsf::methods::object::info::lookupmethod) 0
@@ -87,7 +86,7 @@
 set ::nxdoc::include(::nsf::methods::object::info::lookupslots) 0
 set ::nxdoc::include(::nsf::methods::object::info::method) 0
 set ::nxdoc::include(::nsf::methods::object::info::methods) 0
-set ::nxdoc::include(::nsf::methods::object::info::mixinclasses) 0
+set ::nxdoc::include(::nsf::methods::object::info::mixins) 0
 set ::nxdoc::include(::nsf::methods::object::info::mixinguard) 0
 set ::nxdoc::include(::nsf::methods::object::info::name) 0
 set ::nxdoc::include(::nsf::methods::object::info::parent) 0
@@ -96,13 +95,13 @@
 set ::nxdoc::include(::nsf::methods::object::info::slotobjects) 0
 set ::nxdoc::include(::nsf::methods::object::info::vars) 0
 set ::nxdoc::include(::nsf::methods::class::info::filterguard) 0
-set ::nxdoc::include(::nsf::methods::class::info::filtermethods) 0
+set ::nxdoc::include(::nsf::methods::class::info::filters) 0
 set ::nxdoc::include(::nsf::methods::class::info::forward) 0
 set ::nxdoc::include(::nsf::methods::class::info::heritage) 0
 set ::nxdoc::include(::nsf::methods::class::info::instances) 0
 set ::nxdoc::include(::nsf::methods::class::info::method) 0
 set ::nxdoc::include(::nsf::methods::class::info::methods) 0
-set ::nxdoc::include(::nsf::methods::class::info::mixinclasses) 0
+set ::nxdoc::include(::nsf::methods::class::info::mixins) 0
 set ::nxdoc::include(::nsf::methods::class::info::mixinguard) 0
 set ::nxdoc::include(::nsf::methods::class::info::mixinof) 0
 set ::nxdoc::include(::nsf::methods::class::info::slotobjects) 0
Index: library/nx/nx.tcl
===================================================================
diff -u -r0f881e4bc45e927c8d84c1b1b468ef7537cb9b03 -r3016e6466668218392140bc884fa8bf489721eda
--- library/nx/nx.tcl	(.../nx.tcl)	(revision 0f881e4bc45e927c8d84c1b1b468ef7537cb9b03)
+++ library/nx/nx.tcl	(.../nx.tcl)	(revision 3016e6466668218392140bc884fa8bf489721eda)
@@ -738,11 +738,10 @@
     :alias "info has mixin"        ::nsf::methods::object::info::hasmixin
     :alias "info has namespace"    ::nsf::methods::object::info::hasnamespace
     :alias "info has type"         ::nsf::methods::object::info::hastype
-    #:alias "info is"              ::nsf::methods::object::info::is
     :alias "info name"             ::nsf::methods::object::info::name
-    :alias "info object filters"   ::nsf::methods::object::info::filtermethods
+    :alias "info object filters"   ::nsf::methods::object::info::filters
     :alias "info object methods"   ::nsf::methods::object::info::methods
-    :alias "info object mixins"    ::nsf::methods::object::info::mixinclasses
+    :alias "info object mixins"    ::nsf::methods::object::info::mixins
     :method "info object slots" {{-type:class ::nx::Slot} pattern:optional} {
       set method [list ::nsf::methods::object::info::slotobjects -type $type]
       if {[info exists pattern]} {lappend method $pattern}
@@ -814,12 +813,12 @@
 
   Class eval {
     :alias "info lookup"         ::nx::Object::slot::__info::lookup
-    :alias "info filters"        ::nsf::methods::class::info::filtermethods
+    :alias "info filters"        ::nsf::methods::class::info::filters
     :alias "info has"            ::nx::Object::slot::__info::has
     :alias "info heritage"       ::nsf::methods::class::info::heritage
     :alias "info instances"      ::nsf::methods::class::info::instances
     :alias "info methods"        ::nsf::methods::class::info::methods
-    :alias "info mixins"         ::nsf::methods::class::info::mixinclasses
+    :alias "info mixins"         ::nsf::methods::class::info::mixins
     :alias "info mixinof"        ::nsf::methods::class::info::mixinof
 
     :method "info slots" {{-type ::nx::Slot} -closure:switch -source:optional pattern:optional} {
Index: library/xotcl/library/xotcl2.tcl
===================================================================
diff -u -r891c57455f47da58a83db3981a8688608fba855e -r3016e6466668218392140bc884fa8bf489721eda
--- library/xotcl/library/xotcl2.tcl	(.../xotcl2.tcl)	(revision 891c57455f47da58a83db3981a8688608fba855e)
+++ library/xotcl/library/xotcl2.tcl	(.../xotcl2.tcl)	(revision 3016e6466668218392140bc884fa8bf489721eda)
@@ -682,7 +682,7 @@
         set def [method_handles_to_xotcl $def]
       } else {
         set def [::nsf::directdispatch [::nsf::current object] \
-		     ::nsf::methods::object::info::filtermethods \
+		     ::nsf::methods::object::info::filters \
 		     {*}$guardsFlag \
 		     {*}$patternArg]
       }
@@ -720,7 +720,7 @@
       if {$order} {
         set cmd ::nsf::methods::object::info::lookupmixins
       } else {
-        set cmd ::nsf::methods::object::info::mixinclasses
+        set cmd ::nsf::methods::object::info::mixins
       }
       if {$guards} {lappend cmd "-guards"}
       if {[info exists pattern]} {lappend cmd $pattern}
@@ -788,7 +788,7 @@
       #if {$r == 1 && ![info exists defaultVar]} {error inconsistency}
       return $r
     }
-    :alias instfilter         ::nsf::methods::class::info::filtermethods
+    :alias instfilter         ::nsf::methods::class::info::filters
     :alias instfilterguard    ::nsf::methods::class::info::filterguard
     #:alias instforward        ::nsf::methods::class::info::forward
     :proc instforward {-definition:switch name:optional} {
@@ -802,7 +802,7 @@
     }
     :proc instinvar {} {::nsf::method::assertion [self] class-invar}
     :proc instmixin {-order:switch -guards:switch pattern:optional} {
-      set cmd ::nsf::methods::class::info::mixinclasses
+      set cmd ::nsf::methods::class::info::mixins
       if {$order} {lappend cmd "-heritage"}
       if {$guards} {lappend cmd "-guards"}
       if {[info exists pattern]} {lappend cmd $pattern}