What did Clang warn about?
Anyway: I'd keep this as "evolve" if it can be called by client code. I'd call it "evolveImpl" if it was only used by the other overload (but in that case, I'd move this to the private section).