So, turned out after all we need a foreachmapped helper for loops as well... :/
CDDM and EBDM were reasonably simple, but I faought hours with CCGDM (subsurf) to find only a
bad working solution (commented out in this patch). So I fallback to a code similar to CDDM one.
Probably not nice for performances, but loops and subsurf are not matching well...