     std::vector<result_type> result;
 
     // Probe hash table with first left column
+    // TODO Make this an outer join!
     std::vector<col0_type> const & probe_column = std::get<0>(left_columns);
     for(size_t left_index = 0; left_index < probe_column.size(); ++left_index)
     {

          result.emplace_back(left_index, right_index);
      }
    }
  }

  //gdf_error gdf_multi_left_join_generic(int num_cols, gdf_column **leftcol, gdf_column **rightcol, gdf_join_result_type **out_result)

  {
    size_t left_index{};
    size_t right_index{};

    result_type(size_t _l, size_t _r) : 
      left_index{_l}, right_index{_r} {}

    // Overload comparison so the result vector can be sorted
    bool operator <(result_type const& rhs){
      return( std::tie(left_index, right_index) < std::tie(rhs.left_index, rhs.right_index) );
    }

  };

  LeftJoinTest()
