Replacing CRTP for static polymorphism with concepts