bug in noncommutative math?



I'm trying to taylor expand an expression that contains noncommutative
operators.   

f1:1-epsilon*H1+epsilon^2/2*H1^^2;
f2:1-epsilon*H2+epsilon^2/2*H2^^2;
f3:1-epsilon*H3+epsilon^2/2*H3^^2;

a:f1.f2.f2.f1;
taylor(a,epsilon,0,2);              <==== This works

map(factor,%);

a: f1.f2.f3.f1.f3.f2.f2.f3.f1.f2.f1.f3.f3.f1.f2.f3.f2.f1;

taylor(a,epsilon,0,2);    <==== This never returns
                                (replacing taylor by
doesn't return either)

David