This function solves a simple phylogenetic combinatorics problem - what are all the possible outcomes for a character to be in given uncertainties are allowed?
For example, for three states (0, 1, 2) there are four possible uncertainties: 0/1, 0/2, 1/2 and 0/1/2.
If the user is instead only interested in the size of this state space, this is simply given by 2^N - N - 1, where N is the number of single states. Thus, the first several outcomes are:
----------------------------------
| N states | N possible outcomes |
----------------------------------
| 2 | 1 |
| 3 | 4 |
| 4 | 11 |
| 5 | 26 |
| 6 | 57 |
| 7 | 120 |
| 8 | 247 |
| 9 | 502 |
| 10 | 1,013 |
| 11 | 2,036 |
| 12 | 4,083 |
| 13 | 8,178 |
| 14 | 16,369 |
----------------------------------
Note that this function is really designed for internal use, but may have value to some users and so is available "visibly" here.