allow KeyValueContainer objects to be passed as key-value arrays