block to merge In order to reduce redundant blocks from being created, existing blocks with the same selectors are searched. If they exist, merge will attempt to recursively merge all their children.
This is done at the expense of duplicating properties in the output.
The selector tags from the block to be merged, and the conflicting block are broken into three sets: $shared, the tags that are common between the two; $broken, the unique tags the existing block has; $split, the unique tags that the block being merged has. The __tags meta-data can be set to their new values respectively and the merge can take place as intended.