Build:
  1. 0
2026-10-29 19:45.04: New job: build learn-ocaml.0.13.1 (bccf5c432eca)
2026-10-29 19:45.04: Waiting for resource in pool day11-builds
2026-10-29 20:51.27: Got resource from pool day11-builds
2026-10-29 20:51.27: [profile full] build learn-ocaml.0.13.1
2026-10-29 20:51.27: build learn-ocaml.0.13.1 (bccf5c432eca)
=== DEPENDENCIES (103 transitive) ===
  angstrom.0.16.1                                    fed341a97934
  asak.0.5                                           6e2aeb75a542
  astring.0.8.5                                      da5ddc0529b8
  base.v0.14.4                                       83ce15a2861a
  base-bigarray.base                                 1d3173eae0cb
  base-bytes.base                                    37d65c451fa7
  base-threads.base                                  f062ded5f7fe
  base-unix.base                                     200a1b731b4b
  base64.3.5.2                                       90cd24155ce5
  bigarray-compat.1.1.0                              0397c2e17aec
  bigstringaf.0.9.0                                  1d901852ac93
  camlp-streams.5.0.1                                fd69256b71ca
  checkseum.0.5.4                                    f2f942e86afe
  cmdliner.1.3.0                                     137ddd52302c
  cohttp.4.0.0                                       509b8bc8ffc4
  cohttp-lwt.4.0.0                                   e3e6b89b7de5
  cohttp-lwt-unix.4.0.0                              bca9e87d2ce5
  conduit.1.4.0                                      02acfda4329e
  conduit-lwt.1.4.0                                  ed937d70fd79
  conduit-lwt-unix.1.4.0                             9e2c3cab5773
  conf-git.1.1                                       e20f473cd2f4
  conf-libssl.4                                      04dd52398401
  conf-pkg-config.5                                  e30d9fba6ce2
  conf-which.1                                       8bd92b848f3d
  cppo.1.8.0                                         3ad91c4ad769
  csexp.1.5.1                                        43d4b86b0de7
  cstruct.5.2.0                                      172a6526f772
  decompress.0.8.1                                   ea9f00527b07
  digestif.1.4.1                                     84e43a5f79b7
  dune.2.9.3                                         479bf1c89420
  dune-configurator.2.9.3                            1bff8d2f00b9
  easy-format.1.3.3                                  e3c1beb891b4
  eqaf.0.10                                          1e3533a55cae
  ezjsonm.1.3.0                                      b67d14266870
  fmt.0.11.0                                         8f33183e7a0f
  fpath.0.7.3                                        868679d8aec7
  gg.1.0.0                                           92fb9507f34b
  hex.1.5.0                                          0db0c16bd06b
  ipaddr.3.1.0                                       45729fbd1a36
  js_of_ocaml.4.0.0                                  2831d16a5d96
  js_of_ocaml-compiler.4.0.0                         84b3a707d892
  js_of_ocaml-lwt.4.0.0                              0bcf9ad24fcd
  js_of_ocaml-ppx.4.0.0                              43e8c78983e0
  js_of_ocaml-toplevel.4.0.0                         221fc51b812c
  js_of_ocaml-tyxml.4.0.0                            35b3fb21cd93
  jsonm.1.0.2                                        68032e59819e
  logs.0.7.0                                         7fdaceb299ca
  lwt.5.9.1                                          0adf513b1afc
  lwt_react.1.2.0                                    f905b510e4ef
  lwt_ssl.1.1.3                                      2bd234f0e7ad
  macaddr.3.1.0                                      2721c7c42b48
  magic-mime.1.3.1                                   ca6f585ef7bb
  markup.1.0.3                                       9db72c62f1d9
  markup-lwt.0.5.0                                   fdd2f5df3a19
  menhir.20260209                                    e22f08d703d3
  menhirCST.20260209                                 424af19542b8
  menhirGLR.20260209                                 eb26193791dc
  menhirLib.20260209                                 be606a1d7ed8
  menhirSdk.20260209                                 9bc8e6e47642
  num.1.6                                            465045018171
  ocaml.4.12.1                                       8d1073952cfd
  ocaml-base-compiler.4.12.1                         f9a274b953fd
  ocaml-compiler-libs.v0.12.4                        5be879c7d1cd
  ocaml-config.2                                     6f7c320698e3
  ocaml-migrate-parsetree.1.8.0                      a00683c27f88
  ocaml-syntax-shims.1.0.0                           6a7ad41ce0fa
  ocamlbuild.0.16.1                                  57c8d017b2a9
  ocamlfind.1.9.8                                    75a61ad6af1a
  ocp-indent-nlfork.1.5.5                            a47714a42285
  ocp-ocamlres.0.4                                   435d0353a5a3
  ocplib-endian.1.2                                  e52dc2f110a3
  ocplib-json-typed.0.7.1                            7b126bb1a8fc
  ocplib-json-typed-browser.0.7.1                    df276eafee32
  odoc.2.1.1                                         b3db8011e7d9
  odoc-parser.1.0.1                                  9305c17307b7
  omd.1.3.1                                          25956bc67a5e
  optint.0.3.0                                       14f5e34f11b2
  parsexp.v0.14.2                                    7cdd0ed94436
  pprint.20230830                                    dbae40daf3c6
  ppx_cstruct.5.2.0                                  0c1997ffe3ec
  ppx_derivers.1.2.1                                 89f5779f79c5
  ppx_sexp_conv.v0.14.1                              78f8619cf343
  ppx_tools.6.6                                      85ca494ab749
  ppx_tools_versioned.5.4.0                          94ce8ec4a0ea
  ppxlib.0.15.0                                      017baae8c91a
  re.1.12.0                                          b0eb20326734
  react.1.2.2                                        8f3ed9f9a6ad
  reactiveData.0.3.0                                 f11b0ef1a953
  result.1.5                                         828ad99ae849
  seq.base                                           da963d239660
  sexplib.v0.14.0                                    d9c53206bcba
  sexplib0.v0.14.0                                   e5831ebb464d
  ssl.0.5.5                                          d4fc38920d67
  stdlib-shims.0.3.0                                 e233f24caaa4
  stringext.1.6.0                                    f240f736bb75
  topkg.1.1.1                                        865179f41017
  tyxml.4.6.0                                        1c35be3bebc5
  uchar.0.0.2                                        e3c6cbc198cc
  uri.4.4.0                                          d78d85f0d93c
  uri-sexp.4.4.0                                     474c5e7effbc
  uutf.1.0.4                                         279f116c07b1
  vg.0.9.4                                           2b12a73728a1
  yojson.3.0.0                                       2bb4e3af210a
=== STDOUT ===
Processing: [default: loading data]
[learn-ocaml.0.13.1: dl]
[learn-ocaml.0.13.1: extract]
-> retrieved learn-ocaml.0.13.1  (https://opam.ocaml.org/cache)
[learn-ocaml: make static]
+ /usr/bin/make "static" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1)
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/static'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/static/icons'
- sed "s/#000000/#000/g" icon_cleanup_src.svg > icon_cleanup_black.svg
- sed "s/#000000/#000/g" icon_down_src.svg > icon_down_black.svg
- sed "s/#000000/#000/g" icon_download_src.svg > icon_download_black.svg
- sed "s/#000000/#000/g" icon_left_src.svg > icon_left_black.svg
- sed "s/#000000/#000/g" icon_list_src.svg > icon_list_black.svg
- sed "s/#000000/#000/g" icon_logout_src.svg > icon_logout_black.svg
- sed "s/#000000/#000/g" icon_menu_src.svg > icon_menu_black.svg
- sed "s/#000000/#000/g" icon_reload_src.svg > icon_reload_black.svg
- sed "s/#000000/#000/g" icon_right_src.svg > icon_right_black.svg
- sed "s/#000000/#000/g" icon_run_src.svg > icon_run_black.svg
- sed "s/#000000/#000/g" icon_save_src.svg > icon_save_black.svg
- sed "s/#000000/#000/g" icon_sync_src.svg > icon_sync_black.svg
- sed "s/#000000/#000/g" icon_token_src.svg > icon_token_black.svg
- sed "s/#000000/#000/g" icon_typecheck_src.svg > icon_typecheck_black.svg
- sed "s/#000000/#000/g" icon_up_src.svg > icon_up_black.svg
- sed "s/#000000/#000/g" icon_upload_src.svg > icon_upload_black.svg
- sed "s/#000000/#FFF/g" icon_cleanup_src.svg > icon_cleanup_white.svg
- sed "s/#000000/#FFF/g" icon_down_src.svg > icon_down_white.svg
- sed "s/#000000/#FFF/g" icon_download_src.svg > icon_download_white.svg
- sed "s/#000000/#FFF/g" icon_left_src.svg > icon_left_white.svg
- sed "s/#000000/#FFF/g" icon_list_src.svg > icon_list_white.svg
- sed "s/#000000/#FFF/g" icon_logout_src.svg > icon_logout_white.svg
- sed "s/#000000/#FFF/g" icon_menu_src.svg > icon_menu_white.svg
- sed "s/#000000/#FFF/g" icon_reload_src.svg > icon_reload_white.svg
- sed "s/#000000/#FFF/g" icon_right_src.svg > icon_right_white.svg
- sed "s/#000000/#FFF/g" icon_run_src.svg > icon_run_white.svg
- sed "s/#000000/#FFF/g" icon_save_src.svg > icon_save_white.svg
- sed "s/#000000/#FFF/g" icon_sync_src.svg > icon_sync_white.svg
- sed "s/#000000/#FFF/g" icon_token_src.svg > icon_token_white.svg
- sed "s/#000000/#FFF/g" icon_typecheck_src.svg > icon_typecheck_white.svg
- sed "s/#000000/#FFF/g" icon_up_src.svg > icon_up_white.svg
- sed "s/#000000/#FFF/g" icon_upload_src.svg > icon_upload_white.svg
- sed "s/#000000/#222/g" icon_cleanup_src.svg > icon_cleanup_dark.svg
- sed "s/#000000/#222/g" icon_down_src.svg > icon_down_dark.svg
- sed "s/#000000/#222/g" icon_download_src.svg > icon_download_dark.svg
- sed "s/#000000/#222/g" icon_left_src.svg > icon_left_dark.svg
- sed "s/#000000/#222/g" icon_list_src.svg > icon_list_dark.svg
- sed "s/#000000/#222/g" icon_logout_src.svg > icon_logout_dark.svg
- sed "s/#000000/#222/g" icon_menu_src.svg > icon_menu_dark.svg
- sed "s/#000000/#222/g" icon_reload_src.svg > icon_reload_dark.svg
- sed "s/#000000/#222/g" icon_right_src.svg > icon_right_dark.svg
- sed "s/#000000/#222/g" icon_run_src.svg > icon_run_dark.svg
- sed "s/#000000/#222/g" icon_save_src.svg > icon_save_dark.svg
- sed "s/#000000/#222/g" icon_sync_src.svg > icon_sync_dark.svg
- sed "s/#000000/#222/g" icon_token_src.svg > icon_token_dark.svg
- sed "s/#000000/#222/g" icon_typecheck_src.svg > icon_typecheck_dark.svg
- sed "s/#000000/#222/g" icon_up_src.svg > icon_up_dark.svg
- sed "s/#000000/#222/g" icon_upload_src.svg > icon_upload_dark.svg
- sed "s/#000000/#EEE/g" icon_cleanup_src.svg > icon_cleanup_light.svg
- sed "s/#000000/#EEE/g" icon_down_src.svg > icon_down_light.svg
- sed "s/#000000/#EEE/g" icon_download_src.svg > icon_download_light.svg
- sed "s/#000000/#EEE/g" icon_left_src.svg > icon_left_light.svg
- sed "s/#000000/#EEE/g" icon_list_src.svg > icon_list_light.svg
- sed "s/#000000/#EEE/g" icon_logout_src.svg > icon_logout_light.svg
- sed "s/#000000/#EEE/g" icon_menu_src.svg > icon_menu_light.svg
- sed "s/#000000/#EEE/g" icon_reload_src.svg > icon_reload_light.svg
- sed "s/#000000/#EEE/g" icon_right_src.svg > icon_right_light.svg
- sed "s/#000000/#EEE/g" icon_run_src.svg > icon_run_light.svg
- sed "s/#000000/#EEE/g" icon_save_src.svg > icon_save_light.svg
- sed "s/#000000/#EEE/g" icon_sync_src.svg > icon_sync_light.svg
- sed "s/#000000/#EEE/g" icon_token_src.svg > icon_token_light.svg
- sed "s/#000000/#EEE/g" icon_typecheck_src.svg > icon_typecheck_light.svg
- sed "s/#000000/#EEE/g" icon_up_src.svg > icon_up_light.svg
- sed "s/#000000/#EEE/g" icon_upload_src.svg > icon_upload_light.svg
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/static/icons'
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/static'
[learn-ocaml: dune build]
+ /home/opam/.opam/default/bin/dune "build" "-p" "learn-ocaml" "-j" "39" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1)
-       ocamlc src/ace-lib/.ace.objs/byte/ocaml_mode.{cmo,cmt}
- File "src/ace-lib/ocaml_mode.ml", line 154, characters 19-20:
- 154 |   | LINE_DIRECTIVE _ -> "meta"
-                          ^
- Warning 28 [wildcard-arg-to-constant-constr]: wildcard pattern given as argument to a constant constructor
-  js_of_ocaml src/app/learnocaml_playground_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_partition_view.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_exercise_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_student_view.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_description_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_index_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.13.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/toplevel/learnocaml_toplevel_worker_main.bc.js
- Warning: Program not linked with -g, original variable names and locations not available.
- There are some missing primitives
- Dummy implementations (raising 'Failure' exception) will be used if they are not available at runtime.
- You can prevent the generation of dummy implementations with the commandline option '--disable genprim'
- Missing primitives:
-   caml_unix_map_file_bytecode
-   unix_accept
-   unix_access
-   unix_alarm
-   unix_bind
-   unix_chdir
-   unix_chmod
-   unix_chown
-   unix_chroot
-   unix_clear_close_on_exec
-   unix_clear_nonblock
-   unix_close
-   unix_closedir
-   unix_connect
-   unix_dup
-   unix_dup2
-   unix_environment
-   unix_environment_unsafe
-   unix_error_message
-   unix_execv
-   unix_execve
-   unix_execvp
-   unix_execvpe
-   unix_exit
-   unix_fchmod
-   unix_fchown
-   unix_fork
-   unix_fstat
-   unix_fstat_64
-   unix_fsync
-   unix_ftruncate
-   unix_ftruncate_64
-   unix_getaddrinfo
-   unix_getcwd
-   unix_getegid
-   unix_geteuid
-   unix_getgid
-   unix_getgrgid
-   unix_getgrnam
-   unix_getgroups
-   unix_gethostbyaddr
-   unix_gethostbyname
-   unix_gethostname
-   unix_getitimer
-   unix_getlogin
-   unix_getnameinfo
-   unix_getpeername
-   unix_getpid
-   unix_getppid
-   unix_getprotobyname
-   unix_getprotobynumber
-   unix_getpwnam
-   unix_getservbyname
-   unix_getservbyport
-   unix_getsockname
-   unix_getsockopt
-   unix_inchannel_of_filedescr
-   unix_initgroups
-   unix_kill
-   unix_link
-   unix_listen
-   unix_lockf
-   unix_lseek
-   unix_lseek_64
-   unix_mkfifo
-   unix_nice
-   unix_open
-   unix_opendir
-   unix_outchannel_of_filedescr
-   unix_pipe
-   unix_putenv
-   unix_read
-   unix_readdir
-   unix_recv
-   unix_recvfrom
-   unix_rename
-   unix_rewinddir
-   unix_select
-   unix_send
-   unix_sendto
-   unix_set_close_on_exec
-   unix_set_nonblock
-   unix_setgid
-   unix_setgroups
-   unix_setitimer
-   unix_setsid
-   unix_setsockopt
-   unix_setuid
-   unix_shutdown
-   unix_sigpending
-   unix_sigprocmask
-   unix_sigsuspend
-   unix_single_write
-   unix_sleep
-   unix_socket
-   unix_socketpair
-   unix_spawn
-   unix_string_of_inet_addr
-   unix_tcdrain
-   unix_tcflow
-   unix_tcflush
-   unix_tcgetattr
-   unix_tcsendbreak
-   unix_tcsetattr
-   unix_times
-   unix_truncate
-   unix_truncate_64
-   unix_umask
-   unix_utimes
-   unix_wait
-   unix_waitpid
-   unix_write
-  js_of_ocaml src/grader/grader_jsoo_worker.bc.js
- Warning: Program not linked with -g, original variable names and locations not available.
- There are some missing primitives
- Dummy implementations (raising 'Failure' exception) will be used if they are not available at runtime.
- You can prevent the generation of dummy implementations with the commandline option '--disable genprim'
- Missing primitives:
-   caml_unix_map_file_bytecode
-   unix_accept
-   unix_access
-   unix_alarm
-   unix_bind
-   unix_chdir
-   unix_chmod
-   unix_chown
-   unix_chroot
-   unix_clear_close_on_exec
-   unix_clear_nonblock
-   unix_close
-   unix_closedir
-   unix_connect
-   unix_dup
-   unix_dup2
-   unix_environment
-   unix_environment_unsafe
-   unix_error_message
-   unix_execv
-   unix_execve
-   unix_execvp
-   unix_execvpe
-   unix_exit
-   unix_fchmod
-   unix_fchown
-   unix_fork
-   unix_fstat
-   unix_fstat_64
-   unix_fsync
-   unix_ftruncate
-   unix_ftruncate_64
-   unix_getaddrinfo
-   unix_getcwd
-   unix_getegid
-   unix_geteuid
-   unix_getgid
-   unix_getgrgid
-   unix_getgrnam
-   unix_getgroups
-   unix_gethostbyaddr
-   unix_gethostbyname
-   unix_gethostname
-   unix_getitimer
-   unix_getlogin
-   unix_getnameinfo
-   unix_getpeername
-   unix_getpid
-   unix_getppid
-   unix_getprotobyname
-   unix_getprotobynumber
-   unix_getpwnam
-   unix_getservbyname
-   unix_getservbyport
-   unix_getsockname
-   unix_getsockopt
-   unix_inchannel_of_filedescr
-   unix_initgroups
-   unix_kill
-   unix_link
-   unix_listen
-   unix_lockf
-   unix_lseek
-   unix_lseek_64
-   unix_mkfifo
-   unix_nice
-   unix_open
-   unix_opendir
-   unix_outchannel_of_filedescr
-   unix_pipe
-   unix_putenv
-   unix_read
-   unix_readdir
-   unix_recv
-   unix_recvfrom
-   unix_rename
-   unix_rewinddir
-   unix_select
-   unix_send
-   unix_sendto
-   unix_set_close_on_exec
-   unix_set_nonblock
-   unix_setgid
-   unix_setgroups
-   unix_setitimer
-   unix_setsid
-   unix_setsockopt
-   unix_setuid
-   unix_shutdown
-   unix_sigpending
-   unix_sigprocmask
-   unix_sigsuspend
-   unix_single_write
-   unix_sleep
-   unix_socket
-   unix_socketpair
-   unix_spawn
-   unix_string_of_inet_addr
-   unix_tcdrain
-   unix_tcflow
-   unix_tcflush
-   unix_tcgetattr
-   unix_tcsendbreak
-   unix_tcsetattr
-   unix_times
-   unix_truncate
-   unix_truncate_64
-   unix_umask
-   unix_utimes
-   unix_wait
-   unix_waitpid
-   unix_write
-       ocamlc src/utils/.learnocaml_partition_create.objs/byte/learnocaml_partition_create.{cmo,cmt} (exit 2)
- (cd _build/default && /home/opam/.opam/default/bin/ocamlc.opt -safe-string -w +a-4-42-44-45-48-3-58 -warn-error A-4-42-44-45-48 -bin-annot -I src/utils/.learnocaml_partition_create.objs/byte -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/asak -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base/caml -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigarray-compat -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/cstruct -I /home/opam/.opam/default/lib/digestif -I /home/opam/.opam/default/lib/digestif/ocaml -I /home/opam/.opam/default/lib/eqaf -I /home/opam/.opam/default/lib/ezjsonm -I /home/opam/.opam/default/lib/hex -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/ipaddr/sexp -I /home/opam/.opam/default/lib/jsonm -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/ocaml/compiler-libs -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ocplib-json-typed -I /home/opam/.opam/default/lib/omd -I /home/opam/.opam/default/lib/parsexp -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/sexplib -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/uutf -I src/grader/.learnocaml_report.objs/byte -I src/repo/.learnocaml_repository.objs/byte -I src/state/.learnocaml_api.objs/byte -I src/state/.learnocaml_data.objs/byte -I src/state/.learnocaml_store.objs/byte -I src/toplevel/.learnocaml_toplevel_history.objs/byte -I src/utils/.learnocaml_xor.objs/byte -I src/utils/.lwt_utils.objs/byte -I src/utils/.ocplib_i18n.objs/byte -I src/utils/.sha.objs/byte -intf-suffix .ml -no-alias-deps -o src/utils/.learnocaml_partition_create.objs/byte/learnocaml_partition_create.cmo -c -impl src/utils/learnocaml_partition_create.ml)
- File "src/utils/learnocaml_partition_create.ml", line 105, characters 65-73:
- 105 |   let bad_type,partition_by_grade = asak_partition prof fun_name solution by_grade in
-                                                                        ^^^^^^^^
- Error: This expression has type string but an expression was expected of type
-          Types.type_expr
-     ocamlopt src/utils/.learnocaml_partition_create.objs/native/learnocaml_partition_create.{cmx,o} (exit 2)
- (cd _build/default && /home/opam/.opam/default/bin/ocamlopt.opt -safe-string -w +a-4-42-44-45-48-3-58 -warn-error A-4-42-44-45-48 -I src/utils/.learnocaml_partition_create.objs/byte -I src/utils/.learnocaml_partition_create.objs/native -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/asak -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base/caml -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigarray-compat -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/cstruct -I /home/opam/.opam/default/lib/digestif -I /home/opam/.opam/default/lib/digestif/ocaml -I /home/opam/.opam/default/lib/eqaf -I /home/opam/.opam/default/lib/ezjsonm -I /home/opam/.opam/default/lib/hex -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/ipaddr/sexp -I /home/opam/.opam/default/lib/jsonm -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/ocaml/compiler-libs -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ocplib-json-typed -I /home/opam/.opam/default/lib/omd -I /home/opam/.opam/default/lib/parsexp -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/sexplib -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/uutf -I src/grader/.learnocaml_report.objs/byte -I src/grader/.learnocaml_report.objs/native -I src/repo/.learnocaml_repository.objs/byte -I src/repo/.learnocaml_repository.objs/native -I src/state/.learnocaml_api.objs/byte -I src/state/.learnocaml_api.objs/native -I src/state/.learnocaml_data.objs/byte -I src/state/.learnocaml_data.objs/native -I src/state/.learnocaml_store.objs/byte -I src/state/.learnocaml_store.objs/native -I src/toplevel/.learnocaml_toplevel_history.objs/byte -I src/toplevel/.learnocaml_toplevel_history.objs/native -I src/utils/.learnocaml_xor.objs/byte -I src/utils/.learnocaml_xor.objs/native -I src/utils/.lwt_utils.objs/byte -I src/utils/.lwt_utils.objs/native -I src/utils/.ocplib_i18n.objs/byte -I src/utils/.ocplib_i18n.objs/native -I src/utils/.sha.objs/byte -I src/utils/.sha.objs/native -intf-suffix .ml -no-alias-deps -o src/utils/.learnocaml_partition_create.objs/native/learnocaml_partition_create.cmx -c -impl src/utils/learnocaml_partition_create.ml)
- File "src/utils/learnocaml_partition_create.ml", line 105, characters 65-73:
- 105 |   let bad_type,partition_by_grade = asak_partition prof fun_name solution by_grade in
-                                                                        ^^^^^^^^
- Error: This expression has type string but an expression was expected of type
-          Types.type_expr
[ERROR] The compilation of learn-ocaml.0.13.1 failed at "dune build -p learn-ocaml -j 39".
build failed... 

=== STDERR ===

2026-10-29 20:55.38: FAILED: build learn-ocaml.0.13.1
2026-10-29 20:55.38: Job failed: build failed: learn-ocaml.0.13.1