Отправить по sms: Reasoning about concurrent systems: a functional approach