Consider: (%i1) e : transpose(a)$ (%i2) e : subst(a=0,e)$ (%i3) ev(e); (%o3) transpose(0) (%i4) ev(e,transpose); (%o4) 0 Why is (%i4) needed, why isn't (%o3) 0? Afterall (%i5) f(x) := if integerp(x) then 8 else funmake(f,[x])$ (%i6) f(a)$ (%i7) subst(a=1,%); (%o7) f(1) (%i8) ev(%); (%o8) 8 Is this a noun / verb problem with transpose? Barton