Add Haskell's `on` function.
Add some more static unit tests.