M operates with a single basic data type, string. However, M evaluates data using methods that vary according to context.