Especially in languages that allow generic programming, the right thing to do will be context dependent.