Type disambiguation for C++11

Rebased from #3.