added interoperability of std::tuples with composite keys