That's just how the Dynamic LINQ provider is written. It has three hard-coded keywords that it recognizes when it tries to parse the LINQ expressions: it
, iff
, and new
:
static readonly string keywordIt = "it";
static readonly string keywordIif = "iif";
static readonly string keywordNew = "new";
You can check the source to the LINQ assembly yourself if you want to see more details.
(BTW: "it" here appears to be short for "identifier token", if I had to guess.)