private static function isSimpleType($value, string $type): ?bool
    {
        switch ($type) {
            case 'array':
                return static::isArray($value);
                break;
            case 'object':
                return static::isObject($value);
                break;
            case 'bool':
                return static::isBool($value);
                break;
            case 'int':
                return static::isInt($value);
                break;
            case 'float':
                return static::isFloat($value);
                break;
            case 'string':
                return static::isString($value);
                break;
            case 'callable':
                return static::isCallable($value);
                break;
            default:
                break;
        }

        return null;
    }
private static function isSimpleType($value, string $type): ?bool
    {
        switch ($type) {
            case 'array':
                return static::isArray($value);
                break;
            case 'object':
                return static::isObject($value);
                break;
            case 'bool':
                return static::isBool($value);
                break;
            case 'int':
                return static::isInt($value);
                break;
            case 'float':
                return static::isFloat($value);
                break;
            case 'string':
                return static::isString($value);
                break;
            case 'callable':
                return static::isCallable($value);
                break;
            default:
                break;
        }

        return null;
    }
private static function isSimpleType ( $ value , string $ type ) : ? bool { switch ( $ type ) { case 'array' : return static :: isArray ( $ value ) ; break ; case 'object' : return static :: isObject ( $ value ) ; break ; case 'bool' : return static :: isBool ( $ value ) ; break ; case 'int' : return static :: isInt ( $ value ) ; break ; case 'float' : return static :: isFloat ( $ value ) ; break ; case 'string' : return static :: isString ( $ value ) ; break ; case 'callable' : return static :: isCallable ( $ value ) ; break ; default : break ; } return null ; }
Checks if a value matches a simple type

Returns null if the type is not supported

@param mixed  $value The value
@param string $type  The type

@return bool|null
Checks if a value matches a simple type