Abstract: In complex distributed systems, communicating participants agree on a protocol to follow, by specifying the type and direction of data exchanged. Session types are an elegant type formalism used to model structured communication-based programming. They guarantee