curryItCall( ...self::$curried[ $method ] ), $parameters ); } return call_user_func_array( static::$curried[ $method ][1], $parameters ); } /** * @param int $count * @param \Closure $fn * * @return \Closure */ private function curryItCall( $count, Closure $fn ) { return curryN( $count, $fn->bindTo( $this, static::class ) ); } /** * @param int $count * @param \Closure $fn * * @return \Closure */ private static function curryItStaticCall( $count, Closure $fn ) { return curryN( $count, Closure::bind( $fn, null, static::class ) ); } }