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