public string AsString()
{
if (this.value == null)
return "nil";
//// TODO Escape chars
if (this.value is string)
return string.Format("'{0}'", NormalizeString((string)this.value));
if (this.value is char)
return string.Format("${0}", this.value);
if (this.value.Equals(false))
return "false";
if (this.value.Equals(true))
return "true";
return Convert.ToString(this.value, CultureInfo.InvariantCulture);
}