Updating: generally improving
Updating: non-template implementation is only allowed at the top-level