1. It's not a space list separator; it can't push an item as the child of an item otherwise any operators will give errors when parsed. Rather, it just traverses up until it no longer is on an item and then pushes under that.
2. I'll look into why that's happening. It probably has to do with the fact that `,` doesn't actually separate items in a list, it just pushes the current parent target to the root of the current parent target.