So, is it ok to return `std::map` by value? Since we use C++11, the map should be copied using move semantics.