sl2: child_or_fixed should consider actual children.

It was considering the number of available children, which was
improperly considering children in if statements and so on.