Instead of complicating the Session API with dynamic/static variants of Session::subscribe and Session::enroll, simply provide an adapter functor which wraps a static slot and performs dynamic argument demarshalling.
Example:
session->subscribe(Topic("foo"), staticSlot(&myCallHandler), yield);