When writing test cases in Gherkin, the larger your set of scenario descriptions gets, the easier it is to create redundant step definitions.
Word order, using synonyms, all this leads to more and more step definitions to manage.
One tool to get an overview of redundancies is the following Python script. it search through a directory entered as a parameter and all its subdirectories, scans the files for step definitions and finally lists these with the file and line number alphabetically sorted in a text file.