Apple will probably just price the individual parts high by claiming that their parts are of higher quality which will again deter customers to get their parts repaired.
This has always been a debate in my head whether to make the function return error codes or to throw those errors.
Irrespective of throwing an error or returning an error you need to handle it somewhere. If you are returning an error then the type system can handle it and the person calling your function can get an idea.. while if you are throwing an error in most of the languages your caller function will not get an idea that this function can throw an error.
Sorry my question was on the basis of the quality of the results, simply put .. how does players who have good semantic search turn out against "legacy" players who had good text search