sum integrate noun form



I am trying to make a program interchange the
order of summation and integration by supplying
a noun form.

But the sum keeps evaluating as if there were 
no summand present.

code and run:
-----------------------------------------------
(%i1) display2d : false$
(%i2) istosi(e) := block( [sums, y, y1, y2,
           f, m, m1, m2],    
    sums : first(e), display(sums),    
    y : second(e), display(y),
    y1 : third(e), display(y1),
    y2 : fourth(e), display(y2),
    f : first(sums), display(f),
    m : second(sums), display(m),
    m1 : third(sums), display(m1),
    m2 : fourth(sums), display(m2),       
    'sum( 'integrate( f, y, y1, y2), m, m1, m2 ) )$

(%i3) e : 'integrate( 'sum( x^n, n, 1, 3), x, 0, 1 )$

(%i4) istosi(e);
sums = 'sum(x^n,n,1,3)
y = x
y1 = 0
y2 = 1
f = x^n
m = n
m1 = 1
m2 = 3
(%o4) 3*'integrate(x^n,x,0,1)
------------------------------------------

Any cures available?

Ted Woollett