Whitehead and Russell devised a hierarchy of "types" in order to eliminate self-referential statements from Principia Mathematica, which purported to derive all of mathematics from logic. A set of the lowest type contained only objects (not sets), a set of the next higher type could contain only objects or sets of the lower type, and so on. Unfortunately, Gödel's first incompleteness theorem showed that both Principia Mathematica and all consistent formal systems must be incomplete.