[boost] How to use GIL effectively with boost::fusion or boost::function or any of the other cool generic libraries on boost.