Build:
  1. 0
2026-07-26 16:40.54: New job: build learn-ocaml.0.14.0 (3d6b14bc82bc)
2026-07-26 16:40.54: Waiting for resource in pool day11-builds
2026-07-26 16:56.57: Got resource from pool day11-builds
2026-07-26 16:56.57: [profile full] build learn-ocaml.0.14.0
2026-07-26 16:56.57: build learn-ocaml.0.14.0 (3d6b14bc82bc)
=== DEPENDENCIES (101 transitive) ===
  angstrom.0.16.1                                    f8c32f59e46a
  asak.0.5                                           a422c17aacc6
  astring.0.8.5                                      0f46aaf546ed
  base.v0.14.4                                       ad280cf8bc7f
  base-bigarray.base                                 e774a4d8d0a0
  base-bytes.base                                    dd2e2c414ff6
  base-threads.base                                  afe16a8e71c3
  base-unix.base                                     73c0a5fdd34a
  base64.3.5.2                                       89865074d07e
  bigarray-compat.1.1.0                              776d9a67baab
  bigstringaf.0.9.0                                  320d355b6bd4
  camlp-streams.5.0.1                                682360e81db6
  checkseum.0.5.3                                    9f944a623cdc
  cmdliner.1.3.0                                     9d87464705b2
  cohttp.4.0.0                                       56aa6ff2d634
  cohttp-lwt.4.0.0                                   401ca82139ad
  cohttp-lwt-unix.4.0.0                              d3d4610fc73d
  conduit.1.3.0                                      2a8718800258
  conduit-lwt.1.3.0                                  81d931190cdb
  conduit-lwt-unix.1.3.0                             69f283184d36
  conf-git.1.1                                       0d0ba4e4d5f7
  conf-libssl.4                                      5d039e39dbec
  conf-pkg-config.5                                  2c611009363a
  cppo.1.8.0                                         f7a8894031f2
  csexp.1.5.1                                        db4c02e4e063
  cstruct.5.2.0                                      e034ea19b080
  decompress.0.8.1                                   926a86a608f1
  digestif.1.3.1                                     1067a6981798
  dune.2.9.3                                         d847fe531741
  dune-configurator.2.9.3                            a51ecf748324
  easy-format.1.3.3                                  cd951e5a790c
  eqaf.0.10                                          7b2f8d6a00f8
  ezjsonm.1.3.0                                      d3495da7f1be
  fmt.0.11.0                                         f09024b61988
  fpath.0.7.3                                        ae2263a47212
  gg.1.0.0                                           a29fc662a3a5
  hex.1.5.0                                          28bdf1f17afb
  ipaddr.2.9.0                                       a7950c1c1c2a
  js_of_ocaml.4.0.0                                  3e562068c999
  js_of_ocaml-compiler.4.0.0                         b7d3b9c80f41
  js_of_ocaml-lwt.4.0.0                              b5cc98f0a57a
  js_of_ocaml-ppx.4.0.0                              cd6f47c9447d
  js_of_ocaml-toplevel.4.0.0                         5a6d73046307
  js_of_ocaml-tyxml.4.0.0                            d7f9bf23ba2a
  jsonm.1.0.2                                        166e178182dc
  logs.0.7.0                                         b075237f06e2
  lwt.5.9.1                                          57329da88261
  lwt_react.1.2.0                                    d3fb4e5ac34f
  lwt_ssl.1.1.3                                      01bd0a61fd85
  magic-mime.1.3.1                                   e127d01ec96f
  markup.1.0.3                                       68b0c87f8303
  markup-lwt.0.5.0                                   019848811ca0
  menhir.20260209                                    73e410d6c550
  menhirCST.20260209                                 82a7ad0bb8d6
  menhirGLR.20260209                                 0667efccca2d
  menhirLib.20260209                                 8da039f951b1
  menhirSdk.20260209                                 e3a91d64488d
  num.1.6                                            8eed150659f2
  ocaml.4.12.1                                       2e208a8b534b
  ocaml-base-compiler.4.12.1                         59bab1e31391
  ocaml-compiler-libs.v0.12.4                        547ae0ac5437
  ocaml-config.2                                     3bbb540b53a1
  ocaml-migrate-parsetree.1.8.0                      7eb978e7a038
  ocaml-syntax-shims.1.0.0                           e3d2339f3562
  ocamlbuild.0.16.1                                  b795277b77b8
  ocamlfind.1.9.8                                    b0ede4ffa1d1
  ocp-indent-nlfork.1.5.5                            a67bd07e2927
  ocp-ocamlres.0.4                                   6215cbb09427
  ocplib-endian.1.2                                  c5d5a6095186
  ocplib-json-typed.0.7.1                            a62bff0b98fd
  ocplib-json-typed-browser.0.7.1                    95916e9e311a
  odoc.2.1.1                                         dd4a8083664d
  odoc-parser.1.0.1                                  e5e50d82984e
  omd.1.3.1                                          51b1d4923441
  optint.0.3.0                                       8fe21d7f8e67
  parsexp.v0.14.2                                    5aead1bfc830
  pprint.20230830                                    e8c1f5394f3e
  ppx_cstruct.5.2.0                                  1e6a839545ee
  ppx_derivers.1.2.1                                 891f0d87347c
  ppx_sexp_conv.v0.14.1                              424aede8a748
  ppx_tools.6.6                                      732a35c99573
  ppx_tools_versioned.5.4.0                          36051affd03d
  ppxlib.0.15.0                                      d06b8829d13e
  re.1.12.0                                          c341ed169ab8
  react.1.2.2                                        0444659e4027
  reactiveData.0.3.0                                 c92e0df2fb19
  result.1.5                                         b3f6c9e142ed
  seq.base                                           64d004e70ea6
  sexplib.v0.14.0                                    45c7f110eab6
  sexplib0.v0.14.0                                   c40eba700576
  ssl.0.5.10                                         bad8b238dd43
  stdlib-shims.0.3.0                                 c6181d1394fc
  stringext.1.6.0                                    3738ebc6bb96
  topkg.1.1.1                                        f4dea5918187
  tyxml.4.6.0                                        b7e92c3dce18
  uchar.0.0.2                                        ccce5cfc92f3
  uri.4.4.0                                          82ddd1a3fc91
  uri-sexp.4.4.0                                     1d13dbadd140
  uutf.1.0.4                                         4e75f72a1ff9
  vg.0.9.4                                           30a8a2c47897
  yojson.3.0.0                                       354634ba8026
=== STDOUT ===
Processing: [default: loading data]
[learn-ocaml.0.14.0: dl]
[learn-ocaml.0.14.0: extract]
-> retrieved learn-ocaml.0.14.0  (https://opam.ocaml.org/cache)
[learn-ocaml: make static]
+ /usr/bin/make "static" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.0)
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.0/static'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.0/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.14.0/static/icons'
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.0/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.14.0)
- linking_flags src/main/linking_main.sexp
- ;; linking_main.sexp
- ;; generated by ./linking_flags.sh
- ()
- linking_flags src/main/linking_server.sexp
- ;; linking_server.sexp
- ;; generated by ./linking_flags.sh
- ()
-       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_partition_view.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.0/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  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.14.0/_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.14.0/_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.14.0/_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.14.0/_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.14.0/_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
[ERROR] The compilation of learn-ocaml.0.14.0 failed at "dune build -p learn-ocaml -j 39".
-  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/jsonm -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -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/jsonm -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -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
build failed... 

=== STDERR ===

2026-07-26 16:59.45: FAILED: build learn-ocaml.0.14.0
2026-07-26 16:59.45: Job failed: build failed: learn-ocaml.0.14.0