Eternal sunshine of the spotless .think

In the springtime of startframe a virgin entity is spawned with nothing upon its mind, a blank slate upon which anything can be drawn. Consider

void(entity e) select_song =
{
   if(!e.think)
      bprint("Innocence");
   else
      bprint("Experience");
}

When this function is called with an utterly untouched entity it cries out “Innocence”. If we give this entity a function to think, we may later put an end to the thinking by turning to SUB_Null, which performs the task well enough. But like the apple from the Tree of Knowledge, an Original Sin has taken hold and the think will never be pure and clean again; select_song will evermore echo “Experience” for this entity. Continue reading