Deep fmap with GADTs and type families.