public static async Task <IPythonInterpreter> CreateAsync(InterpreterConfiguration configuration, string root, IServiceManager sm, CancellationToken cancellationToken = default)
        {
            var pi = new PythonInterpreter(configuration);
            await pi.LoadBuiltinTypesAsync(root, sm, cancellationToken);

            // Specialize typing
            TypingModule.Create(sm);
            return(pi);
        }
        public static async Task <IPythonInterpreter> CreateAsync(
            InterpreterConfiguration configuration,
            string root,
            IServiceManager sm,
            string typeshedPath = null,
            ImmutableArray <string> userConfiguredPaths = default,
            CancellationToken cancellationToken         = default
            )
        {
            var pi = new PythonInterpreter(configuration);
            await pi.InitializeAsync(root, sm, typeshedPath, userConfiguredPaths, cancellationToken);

            // Specialize typing
            TypingModule.Create(sm);
            return(pi);
        }