These problems can be avoided by considering as a base language not SMILES itself, but a proto-language. A proto-language is a hypothetical language from which a family of languages can be derived. A suitable SMILES proto-language would ideally contain all of the features consistent with the many ways in which the term "SMILES" is used today.