[boost] How do you make MPL-compatible template meta-functions?