fix allowing interfaces or abstracts if a rule exists