In order to better support convergence in a sound way, we allow users
to provide a widen operator for their lattice type. This can be
implemented for lattices of infinite (or sufficiently large) height in
order to reach convergence in loops.
If not provided, this defaults to the existing join operation that
is required to be defined. This is a sound default, as join would be
at least more precise than a theoretical widen.
Tracking issue: #56931
Depends on D131644
nit: why c++11 (vs something later)?