See: Introduction to Smart Strings