06:47
I'm not at a computer with Mathematica at the moment, so apart from the binary search function, I don't remember what else is in that context. Nevertheless, a good amount of guessing and making mistakes, and paying careful attention to any error messages generated is involved.
There's a simple criterion you can use: if MemberQ[Attributes[(* function *)], ReadProtected]
returns True
, only then might you be able to use PrintDefinitions[]
.
That's it more or less, @Shutao.