static <A extends BackgroundPlus<RoundedBoxWithColor>> A varyBackgroundPlusRoundedBoxes(A s, int w, int h) {
  s = cloneThroughStructure(s);
  if (oneIn(10))
    s.background = varyColor(s.background);
  else if (tossCoin())
    replaceRandomElement(s.things, randomRoundedBoxWithColor(w, h));
  else
    varyRoundedBoxWithColor(random(s.things), w, h);
  ret s;
}