anchor.diff:  In fact, any object can don a trait, provided that they are declared as @Traitable.
   Notice that this annotation used to be optional, but now is mandatory.
   
  -====
  -++++
  -<programlisting><emphasis role="bold">import</emphasis> org.drools.core.factmodel.traits.Traitable;
  -<emphasis role="bold">declare</emphasis> Customer
  -    <emphasis role="italic">@Traitable</emphasis>
  +[source]
  +----
  +import org.drools.core.factmodel.traits.Traitable;
  +declare Customer
  +    @Traitable
       code    : String
       balance : long
  -<emphasis role="bold">end</emphasis></programlisting>
  -++++
  -====
  +end
  +----
   
   
   The only connection between core classes and trait interfaces is at the proxy level: a trait is not specifically tied to a core class.
  
positive.code: If the field can't be resolved, null will be returned.
  Notice that this feature is likely to change in the future.
  
  ====
  [source]
  ----
  when
      $sc : GoldenCustomer( fields[ "age" ] > 18 )  // age is declared by the underlying core class, but not by GoldenCustomer
  then
  ----
  ====
  
  
  Soft fields, instead, are stored in a Map-like data structure that is specific to each core object and referenced by the proxy(es), so that they are effectively shared even when an object dons multiple traits.
  
  ====
  [source]
  ----
  when
  
negative.code: First, whenever a core object is modified, only the most specific traits (in the sense of inheritance between trait interfaces) are updated and an internal blocking mechanism is in place to ensure that each potentially matching pattern is evaluated once and only once.
  So, in the following situation:
  
  [source]
  ----
  declare trait GoldenCustomer end
  declare trait NationalGoldenustomer extends GoldenCustomer end
  declare trait SeniorGoldenCustomer extends GoldenCustomer end
  ----
  
  
  a modification of an object that is both a GoldenCustomer, a NationalGoldenCustomer and a SeniorGoldenCustomer wold cause only the latter two proxies to be actually modified.
  