docs: function makeMan(opts, settings) {
    var indexArgs = '';
    for (var i = 0; true; i++) {
      var k = _.findKey(opts.l, function (x) {
        return x.index == i;
      });
      if (k) {
        var opt = opts.l[k];
        indexArgs += ' ' + opt.key;
      } else {
        break;
      }
    }
  
    return 'Usage: ' + (settings.binName ? settings.binName + indexArgs : '') + '\n' + 'Options:' + '\n' + _.map(opts.l, function (v, k) {
      return ' ' + k + (v.short ? ', ' + v.short : '') + ': ' + (v.description || '') + ' (' + typeName(v.type || v) + ')' + (v.required ? ' *' : '');
    }).join('\n');
  }