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