A macro which registers functions from an impl block automatically, taking into account docstrings and arg names.