+ binders = bindersOf (fst bind)
+ no_of_branches = length [() | True <- in_branch_flags]
+ in_branch_flags = [ any (`elementOfIdSet` branch_fvs) binders
+ | branch_fvs <- drop_pts_fvs ]
+
+ (drop_pts_fvs', drop_boxes') = unzip (zipWith3 drop in_branch_flags drop_pts_fvs drop_boxes)
+ drop True drop_fvs box = (drop_fvs `unionIdSets` fvsOfBind bind, bind:box)
+ drop False drop_fvs box = (drop_fvs, box)
+