Types are defined by construction of simpler Types. this means no type can contain itself (this bypasses Russelās Paradox)