a radix tree is a data structure that represents a space-optimized trie (prefix tree) in which each node that is the only child is merged with its parent.
Now they are situations where the parent of the child represent a valid key in the data set like this example:
from this answer. Obviously you can't merge "smiles" into "smiled" and "smile" or you are going to lose valid entries in your data set.
Here as much as I understood suggests, as seen in the image,:
that for a one child parent with valid key like "organ" to add a child which has the same value (but it is not a parent). When the parent gets two children then that auxiliary child can be removed.
This implementation however for example doesn't seem to care about breaking the "no parent with one child" rule, while adding a child node to a leaf.
So my question is that whether "no parent with on child" rule is coined into the definition of radix tree and if so what is the computational/space advantage of it. It seems to me the 4 solution to keep up with the rule leads in both space and computational efficiency lost. If not then is it safe to say that Wikipedia definition need to be corrected?