Separated and simplified the rules for cloning instructions
Fixed a variable naming issue in RemovePathsContainingBlock