     return match;
   }
 
-  void compute_reference_solution(size_t num_columns)
+  std::vector<result_type> compute_reference_solution(size_t num_columns)
   {
     assert(num_columns > 0);
     assert(num_columns <= std::tuple_size<multi_column_t>::value);

          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)

    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)
    {
