SFINAE done correctly to appease g++
removed old make visitor
rename MakeVisitor_v2 to MakeVisitor