I should have been more careful: the machinery underlying generic and anonymous functions is the same. The main practical difference is that generic functions give a `const`

binding, which allows you to add more methods, e.g. a regular binding gives:

```
julia> f = x -> x+1
(::#1) (generic function with 1 method)
julia> f(x,y) = 2
ERROR: cannot define function f; it already has a value
```

But if you make it `const`

:

```
julia> const f = x -> x+1
(::#1) (generic function with 1 method)
julia> f(x,y) = 2
(::#1) (generic function with 2 methods)
```

The only remaining difference between this and the usual definition is the lack of a function name (which is really only for user convenience).