optimizers got to take special care of any/all/none due to flattening