@till first, users should never interact with this implementation directly. They will be using ``Doctrine\DBAL\Connection`` (or one of its subclasses to handle master/slave or sharding) and this MySQLi connection will be used inside it.
And second, it would mean that the options used by the connection would be out of sync with ``$mainConnection->getParams()``, which is the getter to access the params used by the connection.
And third, if we start to make it mutable instead of immutable, it should be done for all implementations, and using a common interface, not only for the MySQLiConnection.

and I'm -1 on introducing mutability here.
On a side note, I think there is already too much mutable dependencies in the Doctrine object graph (for instance, the connection is mutable in the EntityManager, but if you actually replace it, you will break some parts of the ORM, and parts which are not broken are depending on the high-level EntityManager to implement the lower level API, thus breaking abstraction entirely)