> only one gen of f.gens is needed. 

Why?  Why `gens[0]`, not `gens[-1]` or `gens[42]`?