I want to do some computations in the Kazhdan-Lusztig basis of an affine Hecke algebra.

Sometimes I want these computations to iterate over just the the translation subgroup of the affine Weyl group $W$. Is it possible do do this?

For example, if I set things up as

```
R.<v> = LaurentPolynomialRing(ZZ)
H = IwahoriHeckeAlgebra(['A',2,1], v^2)
W= H.coxeter_group()
```

Then I can iterate over things indexed by elements of $W$ just fine. Is there a function to determine which $w\in W$ are translation elements? For example

```
s=W.simple_reflections()
s[0].is_translation()
AttributeError: 'CoxeterMatrixGroup_with_category.element_class' object has no attribute 'is_translation'
```

doesn't work.

On the other hand, if I use the ExtendedAffineWeylGroup class

```
R.<v> = LaurentPolynomialRing(ZZ)
W = ExtendedAffineWeylGroup( ["A", 3, 1 ])
```

then

```
W.an_element().is_translation()
False
```

works, but I can't loop over $W$ (or really access the elements of $W$ at all)

```
for w in W:
if w.is_translation():
print(w)
```

gives a long error that ends with

```
AttributeError: 'ExtendedAffineWeylGroup_Class_with_category' object has no attribute 'list'
```

Is there any setup in Sage such that one can simultaneously determine which elements are translation elements, and iterate over $W$? (It would also be great to simultaneously have `elements_of_length()`

work; that's another thing that only seems to work in the first setup.)