Fix OSX clang 5.0 build error

This fixes a build error with OSX clang 5.0. The error is "recursive
template instantiation exceeded maximum depth of 128". This fix works
on OSX 10.8.5 with clang 5.0, it has not been tested in other
configurations and operating systems.