Specify the handling of different child types

I'm not sure if it is necessary (or desired) to include that `undefined` works in place of `null`, since it's only compared with `==` in the source.
Merge pull request #15 from uniphil/expand-signature

Specify the handling of different child types