getGoalStatus :: String -> GoalStatus
getGoalStatus l = let ll = lines l in
  case mapMaybe (stripPrefix "SZS status") ll of
  [] -> Open (Reason ll)
  z@(s : _) -> case words s of
    w : _
      | szsProved w -> Proved True
      | szsDisproved w -> Disproved
    _ -> Open (Reason z)
getGoalStatus :: String -> GoalStatus
getGoalStatus l = let ll = lines l in
  case mapMaybe (stripPrefix "SZS status") ll of
  [] -> Open (Reason ll)
  z@(s : _) -> case words s of
    w : _
      | szsProved w -> Proved True
      | szsDisproved w -> Disproved
    _ -> Open (Reason z)
getGoalStatus l = let ll = lines l in
  case mapMaybe (stripPrefix "SZS status") ll of
  [] -> Open (Reason ll)
  z@(s : _) -> case words s of
    w : _
      | szsProved w -> Proved True
      | szsDisproved w -> Disproved
    _ -> Open (Reason z)