A getter with a side-effect is likely to be highly misleading!
Getters are expected to behave like reading a property: they shouldn’t have any visible side-effects (in particular, they shouldn’t change the object’s visible state), or take significant amounts of time (e.g. accessing external resources such as DBs), or return different results (unless the object changes its visible state), or throw exceptions.
I know that some conventions are loosened for DSLs, but this looks dangerous…