Hi,

When running the following example:

```
\epsilon::Weight(label=field, value=1);
Exp:=\epsilon**4+\epsilon*(\epsilon**3+5);
drop_weight(_, $field=4$);
distribute(_);
drop_weight(_, $field=4$);
```

The first term between brackets is only dropped at the second occurrence of the algorithm drop_weight, i.e. once distributed - while the first term of the expression is rightly dropped at the first occurrence.

Is there a way to make drop_weight recognize it as a weighted term (of weight 4) before distributing?

Thank you for any help!