primalPivot :: Tableau -> Either PivotError Tableau
primalPivot (Tableau deref objective context) = do
  let isOptimal :: Bool
      isOptimal = Map.null (Map.filter (< 0) objective)

  when isOptimal (throwError IsOptimal)

  let entry :: VarName
      entry = let go :: VarName -- Objective variable