use Getting instead of Accessor (compatibility with lens 4.0)
extend base version restriction
derive Functor/Applicative for SnoptA

this supresses the Applicative-Monad warning