WellUpgradeable inherits from UUPSUpgradeable, which implements an immutable variable __self: address private immutable __self = address(this);
It is set to the address of the deployed implementation contract because it an immutable var and it is stored in the bytecode. The Basin team implements corresponding ___self param, which is assigned similarly: address private immutable ___self = address(this);
We can summarize that __self == ___self. However, it is impossible for WellUpgradeable to use __self variable, because it is marked as private. 
Duplicate UUPSUpgradeable and modify __self to be marked as internal, so you can reuse it inside WellUpgradeable and safe gas for deploying same argument two times.
