Given the function below, what is the inferred type of `result`, and what role does `NoInfer` play here?declare function create<T>( items: T[], selected: NoInfer<T> ): T; const result = create(["a", "b"], "c");