public Model mapTraits(Model model, List<BiFunction<Shape, Trait, Trait>> mappers) {
        return mapTraits(model,
                mappers.stream()
                        .reduce((a, b) -> (s, t) -> b.apply(s, a.apply(s, t)))
                        .orElse((s, t) -> t));
    }
Maps over all traits in the model using multiple mapping functions.

<p>Note: passing in a list of mappers is much more efficient than
invoking {@code mapTraits} multiple times because it reduces the number
of intermediate models that are needed to perform the transformation.

@param model Model to transform.
@param mappers Mapping functions that accepts a (Shape, Trait) and
 returns the mapped Trait.
@return Returns the transformed model.base.
@see #mapShapes(Model, Function) for more information.
smithy-model/src/main/java/software/amazon/smithy/model/transform/ModelTransformer.java