instance (f a b) =3D> FMap f (HJust a) (HJust b) where
type f :<$>: (HJust a) =3D HJust (f :<$>: a)
A bit more awkward to write, but we're back to TFs not having any
expressivity problem in this department.
[1] http://www.reddit.com/r/haskell/comments/ut85i/a_few_typefamilies_nugge=
ts/c4ygefh