In math, we often say *the limit of a function*. This is not precise. A
better phase is *“the limit of a function at a point”* since limits are
always defined with respect to a function and a point.

Say we have a function and we want to find the limit at the point . We can write as to emphasize that the limit is a binary function, with the following type signature (in Haskell):

```
lim :: (a -> b) -> a -> b
```

Except that it’s not quite a function. The limit does not always exist at a point. So perhaps a better type signature is

```
lim :: (a -> b) -> a -> Maybe b
```