Why do you need the `and el` check? Is there a case where the element has a tag, but acts like None?