Suggestion: In the C example you added you mention in the comment:
+ /* Methods from TableAmRoutine omitted from example, but all + non-optional ones must be provided here. */ Perhaps you could provide a "see <xyz>" to point the reader finding your example where he could find these non-optional methods he must provide? Nitpicking a little: your patch appears to change more lines than it does, because it added line breaks earlier in the lines. I would generally avoid that unless there's good reason to do so.