anchor.diff:  
   Accordingly, a mixin can be defined using the xref:refguide:applib:index/annotation/Action.adoc[@Action], xref:refguide:applib:index/annotation/Property.adoc[@Property] or xref:refguide:applib:index/annotation/Collection.adoc[@Collection] annotations, but defined at the domain class level rather than at the method level.
   
  -Using xref:refguide:applib:index/annotation/DomainObject.adoc#nature[@DomainObject#nature] attribute (specifying a nature of `Nature.MIXIN`), in combination with the above allows for more fine grained control, eg. nominating the mixin's method name.
  +The mixin is expected to follow the naming convention `SomeType_mixinName`, with the name of the contributed member being contributed is inferred from the name of the class itself, being everything after the last '_'.
  +For example, if the mixin is called `DocumentHolder_documents`, then the mixee is `DocumentHolder` interface, and `documents` is the name of the contributed collection.
   
  -When the mixin follows the naming convention `SomeType_mixinName` then the method name can be abbreviated, and the name of the member being contributed is inferred from the name of the class itself, being everything after the last '_'.
  +This example also hints at why mixins are so powerful: the mixee's type is usually an interface, not a concrete class.
  +Thus, any class that implements `DocumentHolder`, eg `Customer` or `Order`, will be contributed to.
   
   == Contributed Collection
   
  -The example below shows how to contribute a collection, using xref:refguide:applib:index/annotation/Collection.adoc[@Collection].
  +The example below shows in more detail how to contribute a collection, using xref:refguide:applib:index/annotation/Collection.adoc[@Collection].
   The method is expected to be called "coll":
   
   [source,java]
  
positive.code: ----
  
  Alternatively, you can use xref:refguide:applib:index/services/inject/ServiceInjector.adoc[ServiceInjector] to inject domain services after the mixin has been instantiated.
  You'll need to use this method if using nested non-static mixins:
  
  
  [source,java]
  
negative.code:     // ...
  }
  ----
  <.> Mixin class is not `static`, so that the containing object is implicitly available.
  +
  Its name can be either "camelCase" or "PascalCase", either will work.
  
  <.> Domain event can be declared within the mixin, again, not `static`.
  +
  Note that it is genericised on the mixin, not on the mixee
  
  <.> Acts on the owning instance.
  <.> xref:business-rules.adoc[Supporting methods] follow the same naming convention.
  <.> Acts on the owning instance.
  