[fix] do not require `write` to return promise
[fix] module_eval in global scope via Function