Trying to translate the function <pre> fn fix[A,B](fn (fn (&A) -> B, &A) -> B f, &A x) -> B { ret f(bind fix(f, _), x); } </pre> produces the LLVM messages: <pre> Instruction does not dominate all uses! %19 = load %tydesc** %18 store %tydesc* %19, %tydesc** %6 Instruction does not dominate all uses! %21 = load %tydesc** %20 store %tydesc* %21, %tydesc** %7 Broken module found, compilation aborted! Stack dump: 0. Running pass 'Function Pass Manager' on module 'rust_out'. 1. Running pass 'Module Verifier' on function '@_ZN3fix7thunk14E' Aborted </pre>