Underscoreの内部関数で各メソッドの配列の各値を処理する関数にあたる引数の型を判別し関数として返す関数。
■内部構造
var cb = function(value, context, argCount) {
// value が null だった場合、次の関数を返す。_.identity = function(value) { return value; };
if (value == null) return _.identity;
// value が関数だった場合、optimizeCb(value, context, argCount);に代入される。
if (_.isFunction(value)) return optimizeCb(value, context, argCount);
// value が関数でなくObjectだった場合、_.matcher(value);に代入される。
if (_.isObject(value)) return _.matcher(value);
// value が関数でなくObjectでない値だった場合、_.property(value);に代入される。
return _.property(value);
};