Made eval non-destructive of ast