};
void Grid::attach( std::initializer_list<GridAttachItem> );
This illustrates another point, that the inability to have containers of references is subverted if the reference is part of a struct/class (since then there is a way to disambiguate by name, whether you want the element itself, or what it refers to)