for_each now uses pure tag dispatching