Do not force attributes like `@safe` and `pure` on generic functions like these, leave it to attribute inference. That way, the safety and purity of instantiations correctly depends on the template arguments (i.e. allowing for unsafe or impure instantiations when necessitated by the arguments).