don't create a copy of keys if it's not LVALUE context