The `asInstanceOf` only checks the erased type, so there is no runtime guarantee that the annotation model really implements all those interfaces (only the first one).