anchor.diff:  
   @withLock(myLock)
   function foo = |a, b| {
  -    return a + b
  +  return a + b
   }
   ----
   //>>>
  
positive.code: 
  [source,golo]
  ----
  module testdeco
  
  function log = |msg| {
    return |fun| {
      return |args...| {
        println(msg)
        return fun: invokeWithArguments(args)
      }
    }
  }
  
  @log("calling foo")
  
negative.code: ----
  import java.util.concurrent.locks
  
  function withLock = |lock| -> |fun| -> |args...| {
    lock: lock()
    try {
      return fun: invokeWithArguments(args)
    } finally {
      lock: unlock()
    }
  }
  
  