I wouldn't want to do `m::useBuilder($builder)->mock(....)`, I think it adds unnecessary state to the container.

As for the ordering, I tried to stick with the convention that you can pass args in various order and the container will do it's best guess. This maximises backwards compatibility, while maintaining convention.