Print Buffer should __str__() not String()
raise P not string
test309: yield and interrupted infinite generator