Thanks for question!

First of all I was confused with following behavior.
We check presence of ``mailbox-type`` property in ``pool-dispatcher`` config section and then look up mailbox by dispatcher ID that typically if ``BalancingPool-<deployment name>``. 
It's unlikely to look up mailbox with such ID and we fall back into the default mailbox configuration. 
Yes, we can have ``mailbox-requirement`` property in ``pool-dispatcher`` section and it works properly.
It seems to be the only way for configure mailbox for routees.
But this way isn't convenient in some cases. 
Let we have some actor deployments that use BalancingPool and we want to set special mailboxes for them (more precisely for routees under BalancingPool).  
In my case there were instrumented bounded mailboxes that can report their state (queue size) for monitoring and analysis purposes.
Mailbox capacities may vary from one deployment to other. 
If we use mechanism of ``mailbox-requirement`` we should declare each requirement in the code and declare ``MaiboxType``s that produce ``MessageQueue``s with this required property.
It seems to be too complicated way for configure mailboxes for routees.

In my opinion the ideal way is following.
We declare all routees' mailbox properties within ``pool-dispatcher`` section:
```
/balancing {
  type = balancing-pool
  nr-of-instances = 10
  pool-dispatcher {
    mailbox-type = <fqcn of desired MailboxType>
    <other desired mailbox properties: capacity, push-timeout, etc>
  }
}
```

But I can't implement this way without dirty hacks because ``Mailboxes`` can't look up by Typesafe Config object.
So I suggest an intermediate way to configure mailbox for routes.
In ``pool-dispatcher.mailbox`` property we define path to desired mailbox configuration that can be looked up by ``Mailboxes``.