public void Register <TRequest, THandler, TMapper>() where TRequest : class, IRequest where TMapper : class, IAmAMessageMapper <TRequest> where THandler : class, IHandleRequests <TRequest> { _mappers.Register <TRequest, TMapper>(); _handlers.Register <TRequest, THandler>(); }