postponing eval, implementing compile