I use `std::unique_ptr` to be able to use forward declaration for class `ParameterList`. Should I keep `unique_ptr` and write `operator=` or remove forward declaration and use stack?