package Ġcom . a ero spike . sky hook . util Ċ Ċ interface ĠMerge Ġ{ ĊĠĠĠ Ġfun Ġmerge ( data : ĠList < Set < Any ? >> ): ĠSet < Any > Ċ } Ċ Ċ interface ĠUnion Merge Ġ: ĠMerge Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmerge ( data : ĠList < Set < Any ? >> ): ĠSet < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . flatten (). filter NotNull (). toSet () ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠInter sect Merge Ġ: ĠMerge Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmerge ( data : ĠList < Set < Any ? >> ): ĠSet < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( data . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġset Of () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . reduce Ġ{ Ġacc , Ġl Ġ-> Ġacc . intersect ( l . filter NotNull ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter NotNull (). toSet () ĊĠĠĠ Ġ} Ċ } Ċ