canonical eval