std::get does not seem to be SFINAE-friendly, as shown by the following test case:
std::get
template auto foo(C &c) -> declty
From N4527 (I presume it's still in the standard):
§ 20.4.2.6 (8):
Requires: The type T occurs exactly once in Types.... Otherwise, the program is ill-formed.
The program above is ill-formed, according to the standard.
End of discussion.