For the mathematically inclined, +(::Char,::Int)
forms a group action of the (additive) group of integers on the set of characters.
Similarly +(::Ptr{T},::Int)
is a group action of integers on pointers and +(::Int,::Int)
is the usual group action of integers on themselves, namely the (additive) group operation on integers. So this is all consistent and legit from a mathematical point of view.