Rename 'optional nodes' to 'void nodes', document them, and fix some bugs