_2F1 sucks compared to regularised _2F1 (bold F in https://dlmf.nist.gov/15.2 or Hypergeometric2F1Regularized in mathematica), as the regularised variant avoids the artificial polls at negative integers for c. We really should compute the regularised version and then define
_₂F₁(a, b, c, z) = gamma(c)*regularized_₂F₁(a, b, c, z)