This 49ers season is effectively over — and Kyle Shanahan bears plenty of responsibility
Buried under the wreckage, barely able to speak at an audible volume, was Kyle Shanahan — the man who had the most to do with the 49ers’ failings, and the biggest culprit behind a last-gasp attempt to extend an era that seemed doomed from its inception last February.