added a docstring, defined non-linear-pattern-error.
I am trying to give a restart binding in order to
implement a unification library on top of it.
However it is not even started, not even a line of a code exists.