The idea is to trigger a warning with that kind of code:
```c++
auto scale = traits.construct_scaled_vector_3_object();
auto translate = traits.construct_translated_point_3_object();
Vector_3 v = something();
scale(v, 2); // should warn, because the correct code is
// `v = scale(v, 2)`
Point_3 p = whatever();
translate(p, v); // should be `p = translate(p, v)`
```
Maybe we should consider adding `[[nodiscard]]` to all
call operators of function objects of the kernel.
Or either add it to all the object types in the kernel.