private IEnumerable<V> LetVisual(IStream<SExpr> lets) { SExpr.Symbol next; do { yield return V.HStack (VAlign.Top, V.Depiction (lets.First), V.Depiction (lets.ItemAt (1)), V.Label ("="), V.Depiction (lets.ItemAt (2))); lets = lets.Drop (3); next = lets.First as SExpr.Symbol; } while (next != null && next.Name == "and"); yield return V.HStack (VAlign.Top, V.Depiction (lets.First)); }