anchor.diff:  augment java.lang.String with FooBar, Spamable
   ----
   
  -Named augmentations are not exported, and thus can only be used in the module
  -where they are define. 
  -Other augmentation rules about scopes and reusability applies.
  +Augmentation rules about scopes and reusability apply.
   So, if we create a module
   
   [source,golo]
  
positive.code: 
  It is possible for augmentations to have a name.
  A named augmentation is a set of functions that can be applied to some
  classes or structures, provided they are *in the same module*.
  
  This can be seen as a kind of lightweight
  http://en.wikipedia.org/wiki/Trait_%28computer_programming%29[*traits*], as
  found in Rust, Groovy or Scala.
  
  Named augmentations are defined with the `augmentation` keyword.
  
  
negative.code: list[1, 2, 3, 4]: search(2)
  ----
  
  The augmentations defined in an other module can also be applied, provided they
  are fully qualified:
  [source,golo]
  ----
  augment java.lang.String with MyAugmentations.Searchable
  ----
  
  The validity of the application is not checked at compile time. Thus
  [source,golo]
  ----
  augment java.lang.String with Searchable
  ----
  
  will not raise an error, but trying to call `search` on a `String` will throw a
  `java.lang.NoSuchMethodError: class java.lang.String::search` at *runtime*.
  
  IMPORTANT: As for every augmentation, no checks are made that the augmentation
  can be applied to the augmented class. For instance, augmenting `java.lang.Number`
  