Integral -package:aeson-optics package:lens

This ReifiedPrism can be used to model the fact that every Integral type is a subset of Integer. Embedding through the ReifiedPrism only succeeds if the Integer would pass through unmodified when re-extracted.