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 $$f$$ and we want to find the limit at the point $$p$$. We can write $$ lim_{x \to p} f(x)$$ as $$l(f,p)$$ 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
```