It is likely that an alternative handler will be applicable to more than one type, so it would be convenient to have a method that takes a list of request types, e.g.:

void addBranchForAll(List<Type> requestTypes, RequestHandler handler, {predicate: null})