Simplify evaluator
It tries to support too much, but since it's part of the kernel it should
do as little clever stuff as possible. Now just normalises, simplifies or
specialises, the latter two simply meaning that certain names are blocked
from being reduced.