Instead of calling .try(), we should check that the provider exists - otherwise this could bury valuable errors