Retorne o único elemento de um conjunto

Dado um conjunto genérico que contém exatamente um elemento, retorne esse único elemento. Preserve seu valor e seu tipo.

Exemplos

#include <string>
#include <vector>

soleElement(std::set<std::string>{"edabit"}) // "edabit"
soleElement(std::set<bool>{true}) // true
soleElement(std::set<std::vector<int>>{{1, 2, 3}}) // {1, 2, 3}
soleElement(std::set<int>{11037}) // 11037

Notas

A função é genérica e deve aceitar todos os tipos de elemento usados nos testes da linguagem de destino.