'Summarize info instead of printing all.'

def __repr__(self):

    strs = ['<Info    |    %s    non-empty    fields']
    non_empty = 0
    for (k, v) in self.items():
        if (k in ['bads', 'ch_names']):
            entr = (',    '.join((b for (ii, b) in enumerate(v) if (ii < 10))) if v else '0    items')
            if (len(v) > 10):
                entr = _summarize_str(entr)
        elif ((k == 'projs') and v):
            entr = ',    '.join(((p['desc'] + (':    o%s' % {0: 'ff', 1: 'n'}[p['active']])) for p in v))
            if (len(entr) >= 56):
                entr = _summarize_str(entr)
        elif ((k == 'meas_date') and np.iterable(v)):
            entr = dt.fromtimestamp(v[0]).strftime('%Y-%m-%d    %H:%M:%S')
        elif ((k == 'kit_system_id') and (v is not None)):
            from .kit.constants import SYSNAMES as KIT_SYSNAMES
            entr = ('%i    (%s)' % (v, KIT_SYSNAMES.get(v, 'unknown')))
        else:
            this_len = (len(v) if hasattr(v, '__len__') else (('%s' % v) if (v is not None) else None))
            entr = (('%d    items' % this_len) if isinstance(this_len, int) else (('%s' % this_len) if this_len else ''))
        if entr:
            non_empty += 1
            entr = ('    |    ' + entr)
        if (k == 'chs'):
            ch_types = [channel_type(self, idx) for idx in range(len(v))]
            ch_counts = Counter(ch_types)
            entr += ('    (%s)' % ',    '.join((('%s:    %d' % (ch_type.upper(), count)) for (ch_type, count) in ch_counts.items())))
        strs.append(('%s    :    %s%s' % (k, type(v).__name__, entr)))
        if (k in ['sfreq', 'lowpass', 'highpass']):
            strs[(-1)] += '    Hz'
    strs_non_empty = sorted((s for s in strs if ('|' in s)))
    strs_empty = sorted((s for s in strs if ('|' not in s)))
    st = '\n                '.join((strs_non_empty + strs_empty))
    st += '\n>'
    st %= non_empty
    return st
