By applying (singular) to a string "leaves", it returns "leafe". It should be "leaf" instead. I had to apply this manually but I think it has to be in the code by default. (singular! #"(?i)([^f])ves$" "$1f")