We should extract the options stuff from axiom-types. I took what was in virtus originally, rewrote it and mutation covered it, and it should be ready to be gemified. Then we can use it here and in virtus, as well as elsewhere.