foo do ^ unexpected end-of-input, assuming it is closing the parent top level context ^~ expected a block beginning with `do` to end with `end`