Is there any (good) reason that nusum and GosperSum don't handle sum(...,i,inf)? No reason for the core logic to understand what's going on, but why not perform sum(...,i,gensym) then if it's a nounform, subst gensym=inf, else return limit( ... , gensym, inf).