A session type provider: compile-time API generation of distributed protocols with refinements in F#. - Rumyana Neykova; Raymond Hu; Nobuko Yoshida; Fahd Abdeljallal (CC, 2018)