Auto types aren't very neat as return values because they move the burden of knowledge to the reader. Using an explicit, and somewhat self-explanatory, type makes it easier to assess the code without knowing the implementation of the type.
Added a test that verifies that the slave connection count restrictions work.