Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Related to #2641.
In C++, there are two types of arithmetic kernels: default variant and overflow-checking variant. We should follow this for primitive arithmetic kernels like add.
Describe the solution you'd like
Describe alternatives you've considered
Additional context