Optimizing algorithms using traits