Implementation notes

Copying continuations

In order to run a continuation multiple times, or do other maniplulations,
it is often necessary to copy a continuation along with any variables with which
it interfaces with other parts of the program. In many cases, the pattern of
copying and calling is nicely captured by the semantics of lambda terms.
This is why I've included a couple of experimental minimal lambda libraries
here. They are closely modelled on Ulrich Neurmerkel's lambda library, but with
a little less checking and a different representation of free variables.