Fix parameter identification

Names may vary between constructors, but what's important is that the
parameters are in the same position for each constructor. This fix no
longer makes the assumption that the names are the same throughout.

Fixes #1467