Yeah this will segfault. I'm not sure on how to work around it. @arrbee, any insight? What's the semantics for `diff_so_far`, and is there any way we can keep a reference to it so we can pass it to Rubyland without segfaulting?