human
I wrote the below code

    if isinstance(solver, string_types):
        if (solver not in {'cholesky'}):
            raise ValueError('No    such    solver:    {0}'.format(solver))
        if (solver == 'cholesky'):
            def solver(X, y):
                a = (X.T * X).toarray()
                return linalg.solve(a, (X.T * y), sym_pos=True, overwrite_a=True, overwrite_b=True).T
    elif callable(solver):
        warn('When    using    a    custom    solver,    note    that    since    MNE    0.15,    this    function    will    pass    the    transposed    data    (n_channels,    n_times)    to    the    solver.    If    you    are    using    a    solver    that    expects    a    different    format,    it    will    give    wrong    results    and    might    in    extreme    cases    crash    your    session.')
    else:
        raise TypeError('The    solver    must    be    a    str    or    a    callable.')
    (data, info, events) = _prepare_rerp_data(raw, events, picks=picks, decim=decim)
    if (event_id is None):
        event_id = dict(((str(v), v) for v in set(events[:, 2])))
    (X, conds, cond_length, tmin_s, tmax_s) = _prepare_rerp_preds(n_samples=data.shape[1], sfreq=info['sfreq'], events=events, event_id=event_id, tmin=tmin, tmax=tmax, covariates=covariates)
    (X, data) = _clean_rerp_input(X, data, reject, flat, decim, info, tstep)
    coefs = solver(X, data.T)
    if (coefs.shape[0] != data.shape[0]):
        raise ValueError('solver    output    has    unexcepted    shape.    Supply    a    function    that    returns    coefficients    in    the    form    (n_targets,    n_features),    where    targets    ==    channels.')
    evokeds = _make_evokeds(coefs, conds, cond_length, tmin_s, tmax_s, info)
    return evokeds

What's a good function header?
 Here's a good function header?
assistant
#Here's a good function header.

def linear_regression_raw(raw, events, event_id=None, tmin=(-0.1), tmax=1, covariates=None, reject=None, flat=None, tstep=1.0, decim=1, picks=None, solver='cholesky'):