Question: why is Maple inconsistent with which variable is free or not in some of its functions?

restart;
k:=1;
sum(k^2,k=1..10);
      (in sum) summation variable previously assigned, second argument

gives an error, since k is not free. Fine. No problem. But add() has no problem with an assigned variable:

restart;
k:=1;
add(k^2,k=1..10);

and seq() has no problem either

restart;
k:=1;
seq(k^2,k=1..10);

It is confusing when learning Maple since it does not seem to behave the same way in all its functions. What is the reason for this design? 

Please Wait...