public static function concat($collection1, $collection2)
    {
        $isObject = __::isObject($collection1);

        $args = __::map(func_get_args(), function ($arg) {
            return (array)$arg;
        });

        $merged = call_user_func_array('array_merge', $args);

        return $isObject ? (object)$merged : $merged;
    }