ghci> let b = readSmiles "c1ccccc1C(=O)O" ghci> case b of Right val -> writeSmiles val "c" ghci> It seems that the internal representation of SMILES string lacks proper handling of cyclic structures.