More std:: and new-style function return type.
Norms now use tag dispatching instead of enum.