For those who want to learn more, I wrote an extended, accessible introduction to session types (predicated on a little knowledge about PL metalanguage syntax, e.g. BNF grammar) here: <a href="http://cs242.stanford.edu/lectures/07-2-session-types.html" rel="nofollow">http://cs242.stanford.edu/lectures/07-2-session-types.html</a><p>It also includes a walkthrough of a session types implementation in Rust.