Extract typeclass that supports exmap, xmap, narrow, widen, pxmap, and as