When the [abort] argument is added, the function will abort as soon as an error is detected. When the [closure] argument is added, the function can access variables and arguments from the outer scope. This is usually called a closure. When the [dict] argument is added, the function must be invoked through an entry in a |Dictionary|. The local variable "self" will then be set to the dictionary. When the [closure] argument is added, the function can access variables and arguments from the outer scope.