Basic fix of previous commits

Remove the tests that may fail when not using libstdc++, like MSVC.
Restrict the scope of an ambiguous typedef to the class where it is used to define a private member.
Fix style.