Type checker and interpreter for a small PL.