herd/gen: consider atomic access
 herd -> more models
 gen  -> use a la diycross macros (including the new 'atoms') for
         diycross and diy