[#CDF19EBB42B5FC5FA65F45F352976CD19485CDF3]
Assignment
param& operator=(param const&) = default;
Upon assignment, this becomes a copy of `other`.
this->key == other.key && this->value == other.value && this->has_value == other.has_value
Linear in `other.key.size() + other.value.size()`.
Calls to allocate may throw.