This code was primarily written by Santiago Zanella-Beguelin and Cédric Fournet (MSR). An earlier version was written by Benjamin Beurdouche (INRIA).