public override string ToString()
{
return
String.Join
(
"\r\n",
(from f in ForClauses select f.ToString())
.Union(from l in LetClauses select l.ToString())
.Union(WhereClause != null ? new[] { "where" + WhereClause.ToString() } : new string[] { })
.Union(from a in Assignments select a.ToString())
);
}