human
I wrote the below code

    (raw, events, picks) = _get_data()
    def make_epochs(picks, proj):
        return Epochs(raw, events, event_id, tmin, tmax, preload=True, proj=proj, picks=picks)
    picks = pick_types(raw.info, meg=True, eeg=True, exclude='bads')
    picks_meg = pick_types(raw.info, meg=True, eeg=False, exclude='bads')
    picks_eeg = pick_types(raw.info, meg=False, eeg=True, exclude='bads')
    for proj in (False, True):
        epochs = make_epochs(picks=picks, proj=proj)
        epochs_meg = make_epochs(picks=picks_meg, proj=proj)
        epochs_eeg = make_epochs(picks=picks_eeg, proj=proj)
        epochs.info._check_consistency()
        epochs_meg.info._check_consistency()
        epochs_eeg.info._check_consistency()
        epochs2 = add_channels_epochs([epochs_meg, epochs_eeg])
        assert_equal(len(epochs.info['projs']), len(epochs2.info['projs']))
        assert_equal(len(epochs.info.keys()), len(epochs_meg.info.keys()))
        assert_equal(len(epochs.info.keys()), len(epochs_eeg.info.keys()))
        assert_equal(len(epochs.info.keys()), len(epochs2.info.keys()))
        data1 = epochs.get_data()
        data2 = epochs2.get_data()
        data3 = np.concatenate([e.get_data() for e in [epochs_meg, epochs_eeg]], axis=1)
        assert_array_equal(data1.shape, data2.shape)
        assert_allclose(data1, data3, atol=1e-25)
        assert_allclose(data1, data2, atol=1e-25)
    epochs_meg2 = epochs_meg.copy()
    epochs_meg2.info['meas_date'] += 10
    add_channels_epochs([epochs_meg2, epochs_eeg])
    epochs_meg2 = epochs_meg.copy()
    epochs2 = add_channels_epochs([epochs_meg, epochs_eeg])
    epochs_meg2 = epochs_meg.copy()
    epochs_meg2.events[(3, 2)] -= 1
    assert_raises(ValueError, add_channels_epochs, [epochs_meg2, epochs_eeg])
    assert_raises(ValueError, add_channels_epochs, [epochs_meg, epochs_eeg[:2]])
    epochs_meg.info['chs'].pop(0)
    epochs_meg.info._update_redundant()
    assert_raises(RuntimeError, add_channels_epochs, [epochs_meg, epochs_eeg])
    epochs_meg2 = epochs_meg.copy()
   ...

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

def test_add_channels_epochs():