Fix the shape of the outer API a bit. Implement eval.