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.