#pragma once #include "utils/crtp.hpp" template struct UnaryNegation : public Crtp { Derived operator-() const { return Derived(-this->derived().value); } };