removeChild
Returns a new node with the first occurrence of child removed from this node's direct children, compared by value-based equality. If child is not a direct child, a structurally equal new node is returned. The receiver is never modified.
Return
a new ImmutableTreeNode without child; the receiver is not modified.
Parameters
child
the direct child subtree to remove.