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