we call toSet() to evaluate the iterable so that we can add to it if hasExtends is true

bug fix for my previous commit; hasExtends does work btw, I was misusing
it before (need to extend the tag "x-foo" not the type "Foo")