You may be right, and if so, we should make changes at the compiler level. This implementation is not actually synchronous. If we make a "synchronous" version of `render`, we should do it right.