`startling` on `#haskell` says there should be a `Control.Lens.Wrapped` instance for `Max`, but there is not.  I can write one, but that doesn't help us right now.  Also, it's `(Max .)` because we're taking `(v -> Scalar v)` to `(v -> Max (Scalar v))`; so we'd need to find a lensed ("optical"?) way of writing that, also.