Small-step eval. Some refactorings.