original_string: private function withBuiltInFactories(): ValidatorFactory
      {
          $keys = array_keys(self::$defaults);
  
          return array_reduce($keys, function ($factory, $key) {
  
              $rule = self::$defaults[$key];
  
              return $factory->withRuleFactory($key, function (array $parameters = []) use ($rule) {
  
                  return new $rule(...$parameters);
  
              });
  
          }, $this);
      }
code: private function withBuiltInFactories(): ValidatorFactory
      {
          $keys = array_keys(self::$defaults);
  
          return array_reduce($keys, function ($factory, $key) {
  
              $rule = self::$defaults[$key];
  
              return $factory->withRuleFactory($key, function (array $parameters = []) use ($rule) {
  
                  return new $rule(...$parameters);
  
              });
  
          }, $this);
      }
code_tokens: private function withBuiltInFactories ( ) : ValidatorFactory { $ keys = array_keys ( self :: $ defaults ) ; return array_reduce ( $ keys , function ( $ factory , $ key ) { $ rule = self :: $ defaults [ $ key ] ; return $ factory -> withRuleFactory ( $ key , function ( array $ parameters = [ ] ) use ( $ rule ) { return new $ rule ( ... $ parameters ) ; } ) ; } , $ this ) ; }
docstring: Return a new validator factory with a rule factory for each default
  rules.
  
  @return \Ellipse\Validator\ValidatorFactory
docstring_tokens: Return a new validator factory with a rule factory for each default rules .