Deep passes at 49ers practice provide unexpected test in Kyle Shanahan’s recovery

previous post