One more thing do I actually need to build a mpl::bool_ out of the
is_same function?
No, in fact you can drop the bool, and and true; and just use enable_if. enable_if will even use the boolean operator to get to the underlying boolean ::value so you drop even more syntax: