Added support for 'contexts': arbitrary wrapping of expressions,
e.g. with a store. Letrec works!