Instead of this, what about:

    String name = "${toCamelCase(library.name)}${upperCase(function.name)}Params";

It'll qualify the name a bit more, which will help things like code completion. The namespace is going to get a bit crowded. Also, the class name will start with an uppercase letter, which is a plus. So something like `moveParamsObject` becomes `BookmarkMoveParams`.

As long as there are no name collisions within a library, you won't have to do any foo1, foo2 names.