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.
Latest version of this post [2017] is found at <a href="http://groups.inf.ed.ac.uk/abcd/session-implementations.html" rel="nofollow">http://groups.inf.ed.ac.uk/abcd/session-implementations.html</a>
Didn't write this but thought it was interesting as it seems to address pain points I've felt when building out a typed actor system (requirements for adapters, etc)