You are absolutely right - and the benchmark in the repository doesn't even try to get the value - it's only check for existent of key.
However, it can easily be fixed by using something like vector<tuple<string, types_t>> and supplying predicates for both std::sort and std::lower_bound to only consider the first element in the tuple. There will be some performance hit, but should be minimal.