improve the performance for all functions related to filter by KeyValue. like Join, Union, Except, Distinct, Intersect
restructure the code
restructure the code
Add comment and restructure the code
Fix the incorrect function name
add SelectMany