toplevel working except that call/return has a bug in which return addresses are sometimes discarded