public <T extends Shape> Stream<T> shapes(Class<T> shapeType) {
        return toSet(shapeType).stream();
    }
Gets a stream of shapes in the index of a specific type {@code T}.

<p>The provided shapeType class must exactly match the class of a
shape in the model in order to be returned from this method;
that is, the provided class must be a concrete subclass of
{@link Shape} and not an abstract class like {@link NumberShape}.

@param shapeType Shape type {@code T} to retrieve.
@param <T> Shape type to stream from the index.
@return A stream of shapes of {@code T} matching {@code shapeType}.
smithy-model/src/main/java/software/amazon/smithy/model/Model.java