$ make
./tools/get-deps.sh
jbuilder build
ocamlc src/parsing/.grain_parsing.objs/grain_parsing__Identifier.{cmo,cmt} (exit 2)
(cd _build/default && /usr/bin/ocamlc -w -40 -g -bin-annot -I src/parsing/.grain_parsing.objs -I /root/.opam/system/lib/batteries -I /root/.opam/system/lib/bytes -I /root/.opam/system/lib/cmdliner -I /root/.opam/system/lib/dyp -I /root/.opam/system/lib/extlib -I /root/.opam/system/lib/num -I /root/.opam/system/lib/ppx_core -I /root/.opam/system/lib/ppx_deriving -I /root/.opam/system/lib/ppx_driver -I /root/.opam/system/lib/ppx_optcomp -I /root/.opam/system/lib/ppx_sexp_conv -I /root/.opam/system/lib/ppx_type_conv -I /root/.opam/system/lib/result -I /root/.opam/system/lib/sexplib -I /root/.opam/system/lib/stdint -I /root/.opam/system/lib/wasm -I /usr/lib/ocaml/compiler-libs -I /usr/lib/ocaml/threads -I src/utils/.grain_utils.objs -no-alias-deps -open Grain_parsing -o src/parsing/.grain_parsing.objs/grain_parsing__Identifier.cmo -c -impl src/parsing/identifier.pp.ml)
File "src/parsing/identifier.ml", line 13, characters 38-50:
Error: Unbound value String.equal
ocamlc src/parsing/.grain_parsing.objs/grain_parsing__Location.{cmo,cmt} (exit 2)
(cd _build/default && /usr/bin/ocamlc -w -40 -g -bin-annot -I src/parsing/.grain_parsing.objs -I /root/.opam/system/lib/batteries -I /root/.opam/system/lib/bytes -I /root/.opam/system/lib/cmdliner -I /root/.opam/system/lib/dyp -I /root/.opam/system/lib/extlib -I /root/.opam/system/lib/num -I /root/.opam/system/lib/ppx_core -I /root/.opam/system/lib/ppx_deriving -I /root/.opam/system/lib/ppx_driver -I /root/.opam/system/lib/ppx_optcomp -I /root/.opam/system/lib/ppx_sexp_conv -I /root/.opam/system/lib/ppx_type_conv -I /root/.opam/system/lib/result -I /root/.opam/system/lib/sexplib -I /root/.opam/system/lib/stdint -I /root/.opam/system/lib/wasm -I /usr/lib/ocaml/compiler-libs -I /usr/lib/ocaml/threads -I src/utils/.grain_utils.objs -no-alias-deps -open Grain_parsing -o src/parsing/.grain_parsing.objs/grain_parsing__Location.cmo -c -impl src/parsing/location.pp.ml)
File "src/parsing/location.ml", line 93, characters 4-13:
Error: Unbound value sexp_of_t
Hint: Did you mean sexp_of_int or sexp_of_mat?
ocamlopt src/parsing/.grain_parsing.objs/grain_parsing__Identifier.{cmx,o} (exit 2)
(cd _build/default && /usr/bin/ocamlopt -w -40 -g -I src/parsing/.grain_parsing.objs -I /root/.opam/system/lib/batteries -I /root/.opam/system/lib/bytes -I /root/.opam/system/lib/cmdliner -I /root/.opam/system/lib/dyp -I /root/.opam/system/lib/extlib -I /root/.opam/system/lib/num -I /root/.opam/system/lib/ppx_core -I /root/.opam/system/lib/ppx_deriving -I /root/.opam/system/lib/ppx_driver -I /root/.opam/system/lib/ppx_optcomp -I /root/.opam/system/lib/ppx_sexp_conv -I /root/.opam/system/lib/ppx_type_conv -I /root/.opam/system/lib/result -I /root/.opam/system/lib/sexplib -I /root/.opam/system/lib/stdint -I /root/.opam/system/lib/wasm -I /usr/lib/ocaml/compiler-libs -I /usr/lib/ocaml/threads -I src/utils/.grain_utils.objs -no-alias-deps -open Grain_parsing -o src/parsing/.grain_parsing.objs/grain_parsing__Identifier.cmx -c -impl src/parsing/identifier.pp.ml)
File "src/parsing/identifier.ml", line 13, characters 38-50:
Error: Unbound value String.equal
ppx src/typed/subst.pp.ml (exit 1)
(cd _build/default && .ppx/jbuild/ppx_sexp_conv+ppx_deriving/ppx.exe --cookie 'library-name="grain_typed"' -o src/typed/subst.pp.ml --impl src/typed/subst.ml --dump-ast)
File "src/typed/subst.ml", line 26, characters 21-22:
Error: Syntax error
ocamlopt src/parsing/.grain_parsing.objs/grain_parsing__Location.{cmx,o} (exit 2)
(cd _build/default && /usr/bin/ocamlopt -w -40 -g -I src/parsing/.grain_parsing.objs -I /root/.opam/system/lib/batteries -I /root/.opam/system/lib/bytes -I /root/.opam/system/lib/cmdliner -I /root/.opam/system/lib/dyp -I /root/.opam/system/lib/extlib -I /root/.opam/system/lib/num -I /root/.opam/system/lib/ppx_core -I /root/.opam/system/lib/ppx_deriving -I /root/.opam/system/lib/ppx_driver -I /root/.opam/system/lib/ppx_optcomp -I /root/.opam/system/lib/ppx_sexp_conv -I /root/.opam/system/lib/ppx_type_conv -I /root/.opam/system/lib/result -I /root/.opam/system/lib/sexplib -I /root/.opam/system/lib/stdint -I /root/.opam/system/lib/wasm -I /usr/lib/ocaml/compiler-libs -I /usr/lib/ocaml/threads -I src/utils/.grain_utils.objs -no-alias-deps -open Grain_parsing -o src/parsing/.grain_parsing.objs/grain_parsing__Location.cmx -c -impl src/parsing/location.pp.ml)
File "src/parsing/location.ml", line 93, characters 4-13:
Error: Unbound value sexp_of_t
Hint: Did you mean sexp_of_int or sexp_of_mat?
ocamlc src/typed/.grain_typed.objs/grain_typed__Ident.{cmi,cmti} (exit 2)
(cd _build/default && /usr/bin/ocamlc -w -40 -g -bin-annot -I src/typed/.grain_typed.objs -I /root/.opam/system/lib/batteries -I /root/.opam/system/lib/bytes -I /root/.opam/system/lib/cmdliner -I /root/.opam/system/lib/dyp -I /root/.opam/system/lib/extlib -I /root/.opam/system/lib/num -I /root/.opam/system/lib/ppx_core -I /root/.opam/system/lib/ppx_deriving -I /root/.opam/system/lib/ppx_driver -I /root/.opam/system/lib/ppx_optcomp -I /root/.opam/system/lib/ppx_sexp_conv -I /root/.opam/system/lib/ppx_type_conv -I /root/.opam/system/lib/result -I /root/.opam/system/lib/sexplib -I /root/.opam/system/lib/stdint -I /root/.opam/system/lib/wasm -I /usr/lib/ocaml/compiler-libs -I /usr/lib/ocaml/threads -I src/parsing/.grain_parsing.objs -I src/utils/.grain_utils.objs -no-alias-deps -open Grain_typed -o src/typed/.grain_typed.objs/grain_typed__Ident.cmi -c -intf src/typed/ident.pp.mli)
File "src/typed/ident.mli", line 22, characters 8-22:
Error: Unbound module Identifiable
ocamlc src/parsing/.grain_parsing.objs/grain_parsing__Driver.{cmo,cmt} (exit 2)
(cd _build/default && /usr/bin/ocamlc -w -40 -g -bin-annot -I src/parsing/.grain_parsing.objs -I /root/.opam/system/lib/batteries -I /root/.opam/system/lib/bytes -I /root/.opam/system/lib/cmdliner -I /root/.opam/system/lib/dyp -I /root/.opam/system/lib/extlib -I /root/.opam/system/lib/num -I /root/.opam/system/lib/ppx_core -I /root/.opam/system/lib/ppx_deriving -I /root/.opam/system/lib/ppx_driver -I /root/.opam/system/lib/ppx_optcomp -I /root/.opam/system/lib/ppx_sexp_conv -I /root/.opam/system/lib/ppx_type_conv -I /root/.opam/system/lib/result -I /root/.opam/system/lib/sexplib -I /root/.opam/system/lib/stdint -I /root/.opam/system/lib/wasm -I /usr/lib/ocaml/compiler-libs -I /usr/lib/ocaml/threads -I src/utils/.grain_utils.objs -no-alias-deps -open Grain_parsing -o src/parsing/.grain_parsing.objs/grain_parsing__Driver.cmo -c -impl src/parsing/driver.pp.ml)
File "src/parsing/driver.ml", line 14, characters 74-106:
Error: Unbound value Parsetree.sexp_of_parsed_program
ocamlc src/typed/.grain_typed.objs/grain_typed__Oprint.{cmo,cmt} (exit 2)
(cd _build/default && /usr/bin/ocamlc -w -40 -g -bin-annot -I src/typed/.grain_typed.objs -I /root/.opam/system/lib/batteries -I /root/.opam/system/lib/bytes -I /root/.opam/system/lib/cmdliner -I /root/.opam/system/lib/dyp -I /root/.opam/system/lib/extlib -I /root/.opam/system/lib/num -I /root/.opam/system/lib/ppx_core -I /root/.opam/system/lib/ppx_deriving -I /root/.opam/system/lib/ppx_driver -I /root/.opam/system/lib/ppx_optcomp -I /root/.opam/system/lib/ppx_sexp_conv -I /root/.opam/system/lib/ppx_type_conv -I /root/.opam/system/lib/result -I /root/.opam/system/lib/sexplib -I /root/.opam/system/lib/stdint -I /root/.opam/system/lib/wasm -I /usr/lib/ocaml/compiler-libs -I /usr/lib/ocaml/threads -I src/parsing/.grain_parsing.objs -I src/utils/.grain_utils.objs -no-alias-deps -open Grain_typed -o src/typed/.grain_typed.objs/grain_typed__Oprint.cmo -c -impl src/typed/oprint.pp.ml)
File "src/typed/oprint.ml", line 125, characters 10-24:
Error: Unbound value Sys.getenv_opt
Makefile:4: recipe for target 'default' failed
make: *** [default] Error 1