If you’re returning your inner class from your public api, then it can’t be internal. Inner would just mean it can only be instantiated from an instance of the outer class. But once it’s instantiated, it’s an addressable type that can be returned and used anywhere.