AnySequence is a behavior specification, right? That seems pretty structural to me.
AnySequence is a concrete type conforming to the Sequence protocol. It implements Sequence by forwarding calls to some other implementation of Sequence.
Strictly speaking, AnySequence is a generic type, whereas AnySequence<Int>, AnySequence<String>, and AnySequence<Any> would be three different concrete types.
AnySequence is a named type conforming to a named protocol, it's all nominative. I don't know that Swift even has a structural subset.