Minor doc fix
Move get_culprit to upper level functions
Work around "yield across C-call boundary" problem