# Alloy Authors - Practical Alloy - Subset signatures (Highlights) ![rw-book-cover|256](https://readwise-assets.s3.amazonaws.com/static/images/article2.74d541386bbf.png) ## Highlights - That is not always the case, and in fact subset signatures can be used to encode powerful patterns, including something that resembles multiple inheritance. ([View Highlight](https://read.readwise.io/read/01jsp1pydaag071jqjhm3976sb)) ^881771628 - The key idea would be to declare all three signatures as subsets of the `Tag` signature, and then use a fact to encode the type hierarchy constraints, namely the fact that `Tag` is abstract and that `Alert` is the set of tags that are both shapes and labels ([View Highlight](https://read.readwise.io/read/01jsp3annenpf7bffddmdh2gkk)) ^881778329 - On a last note, due to all the flexibility of subset signatures, particularly the fact that they may contain atoms from unrelated signatures, they cannot be extended, only contain other subset signatures. ([View Highlight](https://read.readwise.io/read/01jsp5czh3nh9hbs0nex3zb894)) ^881786073