anchor.diff:  def result = name != null ? name : "Unknown"
   ----
   
  -Thanks to Groovy Truth, the null check can be simplified to just 'name'.
  +Thanks to Groovy Truth, the `null` check can be simplified to just 'name'.
   
   And to go even further, since you return 'name' anyway, instead of repeating name twice in this ternary expression,
   we can somehow remove what's in between the question mark and colon, by using the Elvis operator, so that the above becomes:
  
positive.code: ----
  
  [NOTE]
  Note that it's catching all Exceptions, not Throwables. If you need to really catch "everything",
  you'll have to be explicit and say you want to catch Throwables.
  
  == Optional typing advice
  
  I'll finish on some words on when and how to use optional typing.
  Groovy lets you decide whether you use explicit strong typing, or when you use 'def'.
  
  I've got a rather simple rule of thumb: whenever the code you're writing is going to be used by others as a public API,
  you should always favor the use of strong typing, it helps making the contract stronger,
  
negative.code: 
  Same thing for collections, etc.
  
  Thus, you can use some shortcuts in things like `while()`, `if()`, the ternary operator, the Elvis operator (see below), etc.
  
  It's even possible to customize the Groovy Truth, by adding an boolean `asBoolean()` method to your classes!
  
  == Safe graph navigation
  
  Groovy supports a variant of the `.` operator to safely navigate an object graph.
  
  In Java, when you're interested in a node deep in the graph and need to check for `null`,
  you often end up writing complex `if`, or nested `if` statements like this:
  
  [source,groovy]
  ----
  