patience: variant using directly a state