@classmethod
def _autodoc(cls, func):
    """getinput : list or callable
            If it is a list, it corresponds to a list of user inputs that is 
            read sequentially. If it is a callable, it must be a function that
            asks for user input when called with no arguments.
        printline : callable
            Prints data to user. The default implementation simply writes data
            directly to `sys.stdout`.  
        error : callable
            Function that prints error messages to the user. The default 
            implementation simply calls the printline function supplied by the
            callee.
        
        Examples"""
    doc = getattr(cls, func.__name__).__doc__
    head, _, tail = doc.partition('Examples')
    if 'Parameters' in head:
        doc = head + cls._autodoc.__doc__ + tail
    func.__doc__ = doc
    return func
