Best way to implement functors: inheritance VS CRTP? | Heykuki News