I mean design smell like temporal coupling. Void method has no type safe strict description in its signature about cases why and when it should be called. So it's only up to documentation. And using it is based on faith in correctness of side effects.
So should we try get rid of void methods in interfaces?