Build:
  1. 0
2026-06-24 19:29.49: New job: build chess_com_api.1.0.1 (78924be7ed5f)
2026-06-24 19:29.49: Waiting for resource in pool day11-builds
2026-06-24 19:52.34: Got resource from pool day11-builds
2026-06-24 19:52.34: [profile full] build chess_com_api.1.0.1
2026-06-24 19:52.34: build chess_com_api.1.0.1 (78924be7ed5f)
=== DEPENDENCIES (77 transitive) ===
  angstrom.0.16.1                                    7b5a7290f9a4
  asn1-combinators.0.3.2                             b784f686cf33
  astring.0.8.5                                      868f52a07c05
  base.v0.17.3                                       c29afc67ba00
  base-bytes.base                                    a7b3bf16b3f4
  base-threads.base                                  c9e7bdbf5823
  base-unix.base                                     7d1428be9ddb
  base64.3.5.2                                       612901b099cc
  bigstringaf.0.10.0                                 ace38f08babf
  bos.0.3.0                                          cb1cd948b8cf
  ca-certs.1.0.3                                     59eeff10f412
  cmdliner.2.1.1                                     814ed16c6662
  cohttp.6.2.1                                       218cf81a0915
  cohttp-lwt.6.2.1                                   7676aef064c4
  cohttp-lwt-unix.6.2.1                              1f4c240e323b
  compiler-cloning.enabled                           439a1fc77aa6
  conduit.8.0.0                                      0be98214ac75
  conduit-lwt.8.0.0                                  bb5648070784
  conduit-lwt-unix.8.0.0                             5da06e203bb6
  conf-gmp.5                                         be11edf77089
  conf-gmp-powm-sec.4                                7029468462a8
  conf-pkg-config.5                                  d5de2c6a88f9
  cppo.1.8.0                                         deac69f17b6b
  csexp.1.5.2                                        977b865a51b4
  digestif.1.3.0                                     de2abacb14b5
  domain-name.0.5.0                                  88f0a0101969
  dune.3.23.1                                        a59dd9b14fe3
  dune-configurator.3.23.1                           8cec6bb1116c
  duration.0.3.1                                     2e28964e0c5f
  eqaf.0.10                                          c214b38a4285
  fmt.0.11.0                                         b05421079724
  fpath.0.7.3                                        f291dce35bf8
  gmap.0.3.0                                         f0a252074065
  http.6.2.1                                         182b6cd63d63
  ipaddr.5.6.2                                       f0d11333b684
  ipaddr-sexp.5.6.2                                  02ffbe1b780f
  kdf.1.0.0                                          b9f3ab61b53f
  logs.0.10.0                                        222ebea9d1aa
  lwt.6.1.2                                          ac157df3e196
  lwt_ppx.6.1.0                                      b526477e708c
  macaddr.5.6.2                                      79697028334d
  magic-mime.1.3.1                                   196b69fde085
  mirage-crypto.2.1.0                                8b914a52d9cd
  mirage-crypto-ec.2.1.0                             5a2ec84133e8
  mirage-crypto-pk.2.1.0                             9b22be26360e
  mirage-crypto-rng.2.1.0                            5eb10ec46c6d
  ocaml.5.5.0                                        383268832c4b
  ocaml-base-compiler.5.5.0                          522c248944c8
  ocaml-compiler.5.5.0                               eb1a8babf54c
  ocaml-compiler-libs.v0.17.0                        d66bf6efa323
  ocaml-syntax-shims.1.0.0                           57f31ba6c740
  ocaml_intrinsics_kernel.v0.17.2                    5f4f03f1d581
  ocamlbuild.0.16.1                                  e57f00093c6a
  ocamlfind.1.9.8                                    b506a15fcd6c
  ocplib-endian.1.2                                  d54106a1e513
  ohex.0.2.0                                         c8df08ae2c84
  ounit2.2.2.7                                       160e927530cc
  ppx_derivers.1.2.1                                 82026aa8af61
  ppx_sexp_conv.v0.17.1                              defee63a95cd
  ppxlib.0.38.0                                      2aa2dfbf252b
  ppxlib_jane.v0.17.4                                abb3b3b0dac0
  ptime.1.2.0                                        b662df1f9ed0
  qcheck.0.91                                        e3ec55f5e1ab
  qcheck-core.0.91                                   c3aec1bce969
  qcheck-ounit.0.91                                  32f8cf04289c
  re.1.14.0                                          5e7365192893
  rresult.0.7.0                                      e0cb2763084b
  seq.base                                           8e8202906505
  sexplib0.v0.17.0                                   166f8102230b
  stdlib-shims.0.3.0                                 e7f8a4f187fa
  stringext.1.6.0                                    c75f5fd1c52d
  topkg.1.1.1                                        ac206dbbd2b6
  uri.4.4.0                                          e5d7d6eb8245
  uri-sexp.4.4.0                                     c61956bbe3c3
  x509.1.0.6                                         b63ab2213a27
  yojson.3.0.0                                       e1da5f5d4d16
  zarith.1.14                                        c48bd7ff5430
=== STDOUT ===
Processing: [default: loading data]
[chess_com_api.1.0.1: dl]
[chess_com_api.1.0.1: extract]
-> retrieved chess_com_api.1.0.1  (https://opam.ocaml.org/cache)
[chess_com_api: dune build]
+ /home/opam/.opam/default/bin/dune "build" "-p" "chess_com_api" "-j" "39" "@install" (CWD=/home/opam/.opam/default/.opam-switch/build/chess_com_api.1.0.1)
- (cd _build/default && /home/opam/.opam/default/bin/ocamlc.opt -w -40 -warn-error -A -g -bin-annot -bin-annot-occurrences -I lib/.chess_com_api.objs/byte -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/cohttp -I /home/opam/.opam/default/lib/cohttp-lwt -I /home/opam/.opam/default/lib/cohttp-lwt-unix -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/conduit-lwt -I /home/opam/.opam/default/lib/conduit-lwt-unix -I /home/opam/.opam/default/lib/domain-name -I /home/opam/.opam/default/lib/fmt -I /home/opam/.opam/default/lib/http -H /home/opam/.opam/default/lib/http/__private__/http_bytebuffer -H /home/opam/.opam/default/lib/http/__private__/http_bytebuffer/.public_cmi -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/ipaddr-sexp -I /home/opam/.opam/default/lib/ipaddr/unix -I /home/opam/.opam/default/lib/logs -I /home/opam/.opam/default/lib/logs/fmt -I /home/opam/.opam/default/lib/logs/lwt -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -I /home/opam/.opam/default/lib/macaddr -I /home/opam/.opam/default/lib/magic-mime -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocaml/unix -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/re -I /home/opam/.opam/default/lib/sexplib0 -I /home/opam/.opam/default/lib/stringext -I /home/opam/.opam/default/lib/uri -I /home/opam/.opam/default/lib/uri-sexp -I /home/opam/.opam/default/lib/uri/services -I /home/opam/.opam/default/lib/yojson -cmi-file lib/.chess_com_api.objs/byte/chess_com_api.cmi -no-alias-deps -o lib/.chess_com_api.objs/byte/chess_com_api.cmo -c -impl lib/chess_com_api.ml)
- File "lib/chess_com_api.ml", line 207, characters 4-5:
- 207 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 119-207, characters 2-22:
- 119 | ..match Cohttp.Response.status response with
- 120 |   | `OK ->
- 121 |       try
- 122 |         let json = Yojson.Basic.from_string body_str in
- 123 |         match json with
- ...
- 204 |             Lwt.return games
- 205 |         | _ -> Lwt.return []
- 206 |       with _ -> Lwt.return []
- 207 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 304, characters 4-5:
- 304 |   | _ ->
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 221-305, characters 2-21:
- 221 | ..match Cohttp.Response.status http_response with
- 222 |   | `OK ->
- 223 |       try
- 224 |         let json = Yojson.Basic.from_string body_str in
- 225 |         match json with
- ...
- 302 |         | _ -> Lwt.return_none
- 303 |       with _ -> Lwt.return_none
- 304 |   | _ ->
- 305 |       Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 357, characters 4-5:
- 357 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 327-357, characters 2-24:
- 327 | ..match Cohttp.Response.status response with
- 328 |   | `OK ->
- 329 |       try
- 330 |         let json = Yojson.Basic.from_string body_str in
- 331 |         match json with
- ...
- 354 |             Lwt.return (Some player)
- 355 |         | _ -> Lwt.return_none
- 356 |       with _ -> Lwt.return_none
- 357 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 381, characters 4-5:
- 381 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 364-381, characters 2-22:
- 364 | ..match Cohttp.Response.status response with
- 365 |   | `OK ->
- 366 |       try
- 367 |         let json = Yojson.Basic.from_string _body_str in
- 368 |         match json with
- ...
- 378 |             Lwt.return archives
- 379 |         | _ -> Lwt.return []
- 380 |       with _ -> Lwt.return []
- 381 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 480, characters 4-5:
- 480 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 399-480, characters 2-24:
- 399 | ..match Cohttp.Response.status response with
- 400 |   | `OK ->
- 401 |       try
- 402 |         let json = Yojson.Basic.from_string body_str in
- 403 |         match json with
- ...
- 477 |             Lwt.return (Some game)
- 478 |         | _ -> Lwt.return_none
- 479 |       with _ -> Lwt.return_none
- 480 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 518, characters 4-5:
- 518 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 487-518, characters 2-22:
- 487 | ..match Cohttp.Response.status response with
- 488 |   | `OK ->
- 489 |       try
- 490 |         let json = Yojson.Basic.from_string body_str in
- 491 |         match json with
- ...
- 515 |             Lwt.return ongoing_games
- 516 |         | _ -> Lwt.return []
- 517 |       with _ -> Lwt.return []
- 518 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 625, characters 4-5:
- 625 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 525-625, characters 2-22:
- 525 | ..match Cohttp.Response.status response with
- 526 |   | `OK ->
- 527 |       try
- 528 |         let json = Yojson.Basic.from_string body_str in
- 529 |         match json with
- ...
- 622 |             Lwt.return games
- 623 |         | _ -> Lwt.return []
- 624 |       with _ -> Lwt.return []
- 625 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 698, characters 4-5:
- 698 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 632-698, characters 2-24:
- 632 | ..match Cohttp.Response.status response with
- 633 |   | `OK ->
- 634 |       try
- 635 |         let json = Yojson.Basic.from_string _body_str in
- 636 |         match json with
- ...
- 695 |             Lwt.return (Some stats)
- 696 |         | _ -> Lwt.return_none
- 697 |       with _ -> Lwt.return_none
- 698 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 794, characters 4-5:
- 794 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 706-794, characters 2-22:
- 706 | ..match Cohttp.Response.status response with
- 707 |   | `OK ->
- 708 |       try
- 709 |         let json = Yojson.Basic.from_string _body_str in
- 710 |         match json with
- ...
- 791 |             Lwt.return games
- 792 |         | _ -> Lwt.return []
- 793 |       with _ -> Lwt.return []
- 794 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 820, characters 4-5:
- 820 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 803-820, characters 2-24:
- 803 | ..match Cohttp.Response.status response with
- 804 |   | `OK ->
- 805 |       try
- 806 |         let json = Yojson.Basic.from_string _body_str in
- 807 |         match json with
- ...
- 817 |             Lwt.return (Some puzzle)
- 818 |         | _ -> Lwt.return_none
- 819 |       with _ -> Lwt.return_none
- 820 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 850, characters 4-5:
- 850 |   | _ ->
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 829-851, characters 2-19:
- 829 | ..match Cohttp.Response.status response with
- 830 |   | `OK ->
- 831 |       try
- 832 |         let json = Yojson.Basic.from_string body_str in
- 833 |         match json with
- ...
- 848 |         | _ -> Lwt.return []
- 849 |       with _ -> Lwt.return []
- 850 |   | _ ->
- 851 |       Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 638, characters 16-27:
- 638 |             let chess_daily = match List.assoc_opt "chess_daily" fields with
-                       ^^^^^^^^^^^
- Warning 26 [unused-var]: unused variable chess_daily.
- 
- File "lib/chess_com_api.ml", line 650, characters 22-23:
- 650 |                     | _ -> { rating = 0; date = 0 } in
-                             ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", line 661, characters 22-23:
- 661 |                     | _ -> { rating = 0; date = 0 } in
-                             ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", line 675, characters 22-23:
- 675 |                     | _ -> { win = 0; loss = 0; draw = 0 } in
-                             ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", line 678, characters 16-17:
- 678 |               | _ -> { last = { rating = 0; date = 0 }; best = { rating = 0; date = 0 }; record = { win = 0; loss = 0; draw = 0 } } in
-                       ^
- Warning 11 [redundant-case]: this match case is unused.
- (cd _build/default && /home/opam/.opam/default/bin/ocamlopt.opt -w -40 -warn-error -A -g -I lib/.chess_com_api.objs/byte -I lib/.chess_com_api.objs/native -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/cohttp -I /home/opam/.opam/default/lib/cohttp-lwt -I /home/opam/.opam/default/lib/cohttp-lwt-unix -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/conduit-lwt -I /home/opam/.opam/default/lib/conduit-lwt-unix -I /home/opam/.opam/default/lib/domain-name -I /home/opam/.opam/default/lib/fmt -I /home/opam/.opam/default/lib/http -I /home/opam/.opam/default/lib/http/__private__/http_bytebuffer -H /home/opam/.opam/default/lib/http/__private__/http_bytebuffer/.public_cmi -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/ipaddr-sexp -I /home/opam/.opam/default/lib/ipaddr/unix -I /home/opam/.opam/default/lib/logs -I /home/opam/.opam/default/lib/logs/fmt -I /home/opam/.opam/default/lib/logs/lwt -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -I /home/opam/.opam/default/lib/macaddr -I /home/opam/.opam/default/lib/magic-mime -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocaml/unix -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/re -I /home/opam/.opam/default/lib/sexplib0 -I /home/opam/.opam/default/lib/stringext -I /home/opam/.opam/default/lib/uri -I /home/opam/.opam/default/lib/uri-sexp -I /home/opam/.opam/default/lib/uri/services -I /home/opam/.opam/default/lib/yojson -cmi-file lib/.chess_com_api.objs/byte/chess_com_api.cmi -no-alias-deps -o lib/.chess_com_api.objs/native/chess_com_api.cmx -c -impl lib/chess_com_api.ml)
- File "lib/chess_com_api.ml", line 207, characters 4-5:
- 207 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 119-207, characters 2-22:
- 119 | ..match Cohttp.Response.status response with
- 120 |   | `OK ->
- 121 |       try
- 122 |         let json = Yojson.Basic.from_string body_str in
- 123 |         match json with
- ...
- 204 |             Lwt.return games
- 205 |         | _ -> Lwt.return []
- 206 |       with _ -> Lwt.return []
- 207 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 304, characters 4-5:
- 304 |   | _ ->
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 221-305, characters 2-21:
- 221 | ..match Cohttp.Response.status http_response with
- 222 |   | `OK ->
- 223 |       try
- 224 |         let json = Yojson.Basic.from_string body_str in
- 225 |         match json with
- ...
- 302 |         | _ -> Lwt.return_none
- 303 |       with _ -> Lwt.return_none
- 304 |   | _ ->
- 305 |       Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 357, characters 4-5:
- 357 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 327-357, characters 2-24:
- 327 | ..match Cohttp.Response.status response with
- 328 |   | `OK ->
- 329 |       try
- 330 |         let json = Yojson.Basic.from_string body_str in
- 331 |         match json with
- ...
- 354 |             Lwt.return (Some player)
- 355 |         | _ -> Lwt.return_none
- 356 |       with _ -> Lwt.return_none
- 357 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 381, characters 4-5:
- 381 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 364-381, characters 2-22:
- 364 | ..match Cohttp.Response.status response with
- 365 |   | `OK ->
- 366 |       try
- 367 |         let json = Yojson.Basic.from_string _body_str in
- 368 |         match json with
- ...
- 378 |             Lwt.return archives
- 379 |         | _ -> Lwt.return []
- 380 |       with _ -> Lwt.return []
- 381 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 480, characters 4-5:
- 480 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 399-480, characters 2-24:
- 399 | ..match Cohttp.Response.status response with
- 400 |   | `OK ->
- 401 |       try
- 402 |         let json = Yojson.Basic.from_string body_str in
- 403 |         match json with
- ...
- 477 |             Lwt.return (Some game)
- 478 |         | _ -> Lwt.return_none
- 479 |       with _ -> Lwt.return_none
- 480 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 518, characters 4-5:
- 518 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 487-518, characters 2-22:
- 487 | ..match Cohttp.Response.status response with
- 488 |   | `OK ->
- 489 |       try
- 490 |         let json = Yojson.Basic.from_string body_str in
- 491 |         match json with
- ...
- 515 |             Lwt.return ongoing_games
- 516 |         | _ -> Lwt.return []
- 517 |       with _ -> Lwt.return []
- 518 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 625, characters 4-5:
- 625 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 525-625, characters 2-22:
- 525 | ..match Cohttp.Response.status response with
- 526 |   | `OK ->
- 527 |       try
- 528 |         let json = Yojson.Basic.from_string body_str in
- 529 |         match json with
- ...
- 622 |             Lwt.return games
- 623 |         | _ -> Lwt.return []
- 624 |       with _ -> Lwt.return []
- 625 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 698, characters 4-5:
- 698 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 632-698, characters 2-24:
- 632 | ..match Cohttp.Response.status response with
- 633 |   | `OK ->
- 634 |       try
- 635 |         let json = Yojson.Basic.from_string _body_str in
- 636 |         match json with
- ...
- 695 |             Lwt.return (Some stats)
- 696 |         | _ -> Lwt.return_none
- 697 |       with _ -> Lwt.return_none
- 698 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 794, characters 4-5:
- 794 |   | _ -> Lwt.return []
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 706-794, characters 2-22:
- 706 | ..match Cohttp.Response.status response with
- 707 |   | `OK ->
- 708 |       try
- 709 |         let json = Yojson.Basic.from_string _body_str in
- 710 |         match json with
- ...
- 791 |             Lwt.return games
- 792 |         | _ -> Lwt.return []
- 793 |       with _ -> Lwt.return []
- 794 |   | _ -> Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 820, characters 4-5:
- 820 |   | _ -> Lwt.return_none
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 803-820, characters 2-24:
- 803 | ..match Cohttp.Response.status response with
- 804 |   | `OK ->
- 805 |       try
- 806 |         let json = Yojson.Basic.from_string _body_str in
- 807 |         match json with
- ...
- 817 |             Lwt.return (Some puzzle)
- 818 |         | _ -> Lwt.return_none
- 819 |       with _ -> Lwt.return_none
- 820 |   | _ -> Lwt.return_none
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 850, characters 4-5:
- 850 |   | _ ->
-           ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", lines 829-851, characters 2-19:
- 829 | ..match Cohttp.Response.status response with
- 830 |   | `OK ->
- 831 |       try
- 832 |         let json = Yojson.Basic.from_string body_str in
- 833 |         match json with
- ...
- 848 |         | _ -> Lwt.return []
- 849 |       with _ -> Lwt.return []
- 850 |   | _ ->
- 851 |       Lwt.return []
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed|
-     `Partial_content|`Client_closed_request|`Not_extended|
-     `Precondition_required|`Bandwidth_limit_exceeded|`Gone|
-     `Network_connect_timeout_error|`Code _|`Gateway_timeout|
-     `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted|
-     `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found|
-     `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized|
-     `Precondition_failed|`See_other|`Locked|`No_response|`Continue|
-     `Loop_detected|`Insufficient_storage|`Non_authoritative_information|
-     `Too_many_requests|`Request_entity_too_large|`Multiple_choices|
-     `Method_not_allowed|`Proxy_authentication_required|
-     `Network_authentication_required|`Conflict|`Network_read_timeout_error|
-     `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required|
-     `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified|
-     `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented|
-     `No_content|`Created|`Variant_also_negotiates|`Payment_required|
-     `Internal_server_error|`Service_unavailable|`Enhance_your_calm|
-     `Processing|`Upgrade_required|`Multi_status|`Bad_gateway|
-     `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long|
-     `Blocked_by_windows_parental_controls|`Request_header_fields_too_large)
- 
- File "lib/chess_com_api.ml", line 638, characters 16-27:
- 638 |             let chess_daily = match List.assoc_opt "chess_daily" fields with
-                       ^^^^^^^^^^^
- Warning 26 [unused-var]: unused variable chess_daily.
- 
- File "lib/chess_com_api.ml", line 650, characters 22-23:
- 650 |                     | _ -> { rating = 0; date = 0 } in
-                             ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", line 661, characters 22-23:
- 661 |                     | _ -> { rating = 0; date = 0 } in
-                             ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", line 675, characters 22-23:
- 675 |                     | _ -> { win = 0; loss = 0; draw = 0 } in
-                             ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lib/chess_com_api.ml", line 678, characters 16-17:
- 678 |               | _ -> { last = { rating = 0; date = 0 }; best = { rating = 0; date = 0 }; record = { win = 0; loss = 0; draw = 0 } } in
-                       ^
- Warning 11 [redundant-case]: this match case is unused.
-> compiled  chess_com_api.1.0.1
-> installed chess_com_api.1.0.1
[WARNING] Opam package conf-pkg-config.5 depends on the following system package that can no longer be found: pkg-config

=== STDERR ===

2026-06-24 19:53.28: OK: build chess_com_api.1.0.1 (runc: 4.1s, disk: 65KB)
2026-06-24 19:53.28: Job succeeded