trait detects whether a type T has an associated executor that is convertible
from type Executor.
template< typename T, typename Executor> struct uses_executor : public false_type
Meets the BinaryTypeTrait requirements. The Asio library provides a definition
that is derived from
A program may specialize this template to derive from true_type for a user-defined
type T that can be constructed with an executor, where the first argument
of a constructor has type
executor_arg_t and the second argument
is convertible from type Executor.