Servant supports registering internal and private types, but the factory methods must be public. This disallows a use case where a public type depends upon an internal one and is constructed via a factory, as if the factory must be public, it cannot have a parameter of internal type.
Allow non-private constructors/factory methods (meaning internal as well as the current public), allowing types to remain internal. Add a unit test for this with types that illustrate the problem, which would fail to run currently. Update API documentation and README.
Servant supports registering internal and private types, but the factory methods must be public. This disallows a use case where a public type depends upon an internal one and is constructed via a factory, as if the factory must be public, it cannot have a parameter of internal type.
Allow non-private constructors/factory methods (meaning internal as well as the current public), allowing types to remain internal. Add a unit test for this with types that illustrate the problem, which would fail to run currently. Update API documentation and README.