:: (Coercible s a, Coercible t b) => Iso s t a b -package:optics-core

Data types that are representationally equal are isomorphic. This is only available on GHC 7.8+