children() primitive

First version without parameters and an union (that should be changed to group).
If accepter, I can add test(s).
Don't know why there are 3 commits for only one real commit... (git newbie for ever :-) )