Isn't this also true of any CPU-bound loops in addition to system calls or memory-mapped I/O? I'm stuck on why it's connected to foreign functions :). I don't want people to get the impression that running an SQL statement in SQLite is going to give them issues not present in pure Rust code.