shouldn't the check pin example end with 'exit' rather than 'ready'?
.{ Atm.checkPin, Atm.session, Atm.ready } } }),
It was the diagram that made me think this.