class defs with 1 classes (file "", line 13 (char 0) - line 16 (char 3))
  class 1:
    class def z (file "", line 13 (char 6) - line 16 (char 3))
      class type params (0 params) (file "", line 13 (char 5-6))
      object def with 2 items (file "", line 13 (char 10) - line 16 (char 3))
        no self pattern
          item 1:
            val a12345678 (nonmutable) (file "", line 14 (char 2-28))
              complete object coercion (file "", line 14 (char 16-28))
                int const 1 (file "", line 14 (char 27-28))
                typ lid a (file "", line 14 (char 18-19))
                typ lid b (file "", line 14 (char 23-24))
          item 2:
            val b12345678 (nonmutable) (file "", line 15 (char 2-24))
              incomplete object coercion (file "", line 15 (char 16-24))
                int const 2 (file "", line 15 (char 23-24))
                typ lid c (file "", line 15 (char 19-20))
type decl with 1 types (file "", line 17 (char 0-31))
  decl 1:
    type g (file "", line 17 (char 8-31))
      1 type parameters:
        param 1: 
          = a
      rhs type:
        type alias (file "", line 17 (char 12-31))
          type application (file "", line 17 (char 12-25))
            type application (file "", line 17 (char 12-25))
              #-type (file "", line 17 (char 22-25))
                a
              typ lid int (file "", line 17 (char 13-16))
            typ lid int (file "", line 17 (char 17-20))
          tick a (file "", line 17 (char 12-31))
      0 constraints:
type decl with 1 types (file "", line 18 (char 0-25))
  decl 1:
    type f (file "", line 18 (char 8-25))
      1 type parameters:
        param 1: 
          = a
      rhs type:
        type alias (file "", line 18 (char 12-25))
          type application (file "", line 18 (char 12-19))
            #-type (file "", line 18 (char 16-19))
              a
            typ lid int (file "", line 18 (char 12-15))
          tick a (file "", line 18 (char 12-25))
      0 constraints:
type decl with 1 types (file "", line 19 (char 0-38))
  decl 1:
    type e (file "", line 19 (char 5-38))
      0 type parameters:
      rhs type:
        object type (open) with 2 methods (file "", line 19 (char 9-38))
          method 1:
            name m1
            poly type tv list with 1 tv (file "", line 19 (char 16-22))
              type var 1: 
                tick a
              typ lid a (file "", line 19 (char 21-22))
          method 2:
            name m2
            typ lid int (file "", line 19 (char 29-32))
      0 constraints:
type decl with 1 types (file "", line 20 (char 0-15))
  decl 1:
    type d (file "", line 20 (char 5-15))
      0 type parameters:
      rhs type:
        object type (open) with 0 methods (file "", line 20 (char 9-15))
      0 constraints:
type decl with 1 types (file "", line 21 (char 0-12))
  decl 1:
    type c (file "", line 21 (char 5-12))
      0 type parameters:
      rhs type:
        object type (closed) with 0 methods (file "", line 21 (char 9-12))
      0 constraints:
type decl with 1 types (file "", line 22 (char 0-34))
  decl 1:
    type b (file "", line 22 (char 5-34))
      0 type parameters:
      rhs type:
        object type (closed) with 2 methods (file "", line 22 (char 9-34))
          method 1:
            name m1
            poly type tv list with 1 tv (file "", line 22 (char 16-22))
              type var 1: 
                tick a
              typ lid a (file "", line 22 (char 21-22))
          method 2:
            name m2
            typ lid int (file "", line 22 (char 29-32))
      0 constraints:
type decl with 1 types (file "", line 23 (char 0-11))
  decl 1:
    type a (file "", line 23 (char 5-11))
      0 type parameters:
      rhs type:
        #-type (file "", line 23 (char 9-11))
          b
      0 constraints:
top level expr (file "", line 24 (char 0-25))
  object duplication with 3 updates (file "", line 24 (char 0-25))
    update 1:
      id a
      int const 1 (file "", line 24 (char 7-8))
    update 2:
      id b
      int const 2 (file "", line 24 (char 14-15))
    update 3:
      id c
      int const 3 (file "", line 24 (char 21-22))
top level expr (file "", line 25 (char 0-6))
  assignment (file "", line 25 (char 0-6))
    lid "a" (file "", line 25 (char 0-1))
    int const 5 (file "", line 25 (char 5-6))
top level expr (file "", line 26 (char 0-8))
  incomplete object coercion (file "", line 26 (char 0-8))
    lid "x" (file "", line 26 (char 1-2))
    typ lid v (file "", line 26 (char 6-7))
top level expr (file "", line 27 (char 0-12))
  complete object coercion (file "", line 27 (char 0-12))
    lid "x" (file "", line 27 (char 1-2))
    typ lid a (file "", line 27 (char 5-6))
    typ lid b (file "", line 27 (char 10-11))
top level expr (file "", line 28 (char 0-3))
  method call f (file "", line 28 (char 0-3))
    lid "x" (file "", line 28 (char 0-1))
top level expr (file "", line 29 (char 0-9))
  new with 3 ids (file "", line 29 (char 0-9))
    A.B.a
module type A (file "", line 30 (char 0) - line 33 (char 3))
  signature with 1 fields (file "", line 30 (char 16) - line 33 (char 3))
    item 1: 
      class spec with 2 classes (file "", line 31 (char 2) - line 32 (char 41))
        class spec 1:
          virtual class spec a (file "", line 31 (char 8-47))
            class type params (0 params) (file "", line 31 (char 15-16))
            class function (file "", line 31 (char 20-47))
              typ lid t (file "", line 31 (char 20-21))
              class function (file "", line 31 (char 25-47))
                tuple type with 2 elements (file "", line 31 (char 25-34))
                  El 1: 
                    typ lid int (file "", line 31 (char 25-28))
                  El 2: 
                    typ lid int (file "", line 31 (char 31-34))
                polymorphic class type longident (file "", line 31 (char 38-47))
                  2 type args:
                    Arg 1:
                      typ lid a (file "", line 31 (char 39-40))
                    Arg 2:
                      typ lid b (file "", line 31 (char 41-42))
                  2 ids:
                    A.b
        class spec 2:
          class spec b (file "", line 32 (char 6-41))
            class type params (2 params) (file "", line 32 (char 6-14))
              param 1: 
                = a
              param 2: 
                = b
            object type with 1 items (file "", line 32 (char 19-41))
              no self type
              item 1:
                object sig val a (nonmutable) (file "", line 32 (char 26-37))
                  typ lid int (file "", line 32 (char 34-37))
module type T (file "", line 34 (char 0) - line 37 (char 3))
  signature with 1 fields (file "", line 34 (char 16) - line 37 (char 3))
    item 1: 
      class type spec with 2 class types (file "", line 35 (char 2) - line 36 (char 31))
        class type 1:
          virtual class type spec a (file "", line 35 (char 13-28))
            class type params (0 params) (file "", line 35 (char 20-21))
            monomorphic class type longident (file "", line 35 (char 25-28))
              2 ids:
                A.a
        class type 2:
          class type spec b (file "", line 36 (char 5-31))
            class type params (0 params) (file "", line 36 (char 4-5))
            object type with 1 items (file "", line 36 (char 9-31))
              no self type
              item 1:
                object sig val a (nonmutable) (file "", line 36 (char 16-27))
                  typ lid int (file "", line 36 (char 24-27))
class type def with 4 class types (file "", line 38 (char 0) - line 50 (char 18))
  class type 1:
    virtual class type def a (file "", line 38 (char 11-47))
      class type params (2 params) (file "", line 38 (char 19-27))
        param 1: 
          = a
        param 2: 
          = b
      polymorphic class type longident (file "", line 38 (char 32-47))
        1 type args:
          Arg 1:
            tuple type with 2 elements (file "", line 38 (char 33-40))
              El 1: 
                tick a (file "", line 38 (char 33-35))
              El 2: 
                tick b (file "", line 38 (char 38-40))
        3 ids:
          A.B.c
  class type 2:
    class type def b (file "", line 39 (char 4-13))
      class type params (0 params) (file "", line 39 (char 3-4))
      monomorphic class type longident (file "", line 39 (char 8-13))
        3 ids:
          C.D.e
  class type 3:
    class type def c (file "", line 40 (char 4) - line 49 (char 3))
      class type params (0 params) (file "", line 40 (char 3-4))
      object type with 8 items (file "", line 40 (char 8) - line 49 (char 3))
        self type:
          tick Self (file "", line 40 (char 16-21))
        item 1:
          inherit (class sig) (file "", line 41 (char 2-11))
            monomorphic class type longident (file "", line 41 (char 10-11))
              1 ids:
                a
        item 2:
          object sig val a (mutable) (file "", line 42 (char 2-23))
            typ lid float (file "", line 42 (char 18-23))
        item 3:
          object sig val b (nonmutable) (file "", line 43 (char 2-13))
            typ lid int (file "", line 43 (char 10-13))
        item 4:
          virtual method spec a (public) (file "", line 44 (char 2-24))
            typ lid int (file "", line 44 (char 21-24))
        item 5:
          virtual method spec b (private) (file "", line 45 (char 2-32))
            typ lid int (file "", line 45 (char 29-32))
        item 6:
          public method spec m1 (private) (file "", line 46 (char 2-35))
            poly type tv list with 1 tv (file "", line 46 (char 22-35))
              type var 1: 
                tick a
              function type (file "", line 46 (char 27-35))
                tick a (file "", line 46 (char 27-29))
                tick a (file "", line 46 (char 33-35))
        item 7:
          public method spec m3 (public) (file "", line 47 (char 2-21))
            poly type tv list with 1 tv (file "", line 47 (char 14-21))
              type var 1: 
                tick a
              tick a (file "", line 47 (char 19-21))
        item 8:
          object constraint spec (file "", line 48 (char 2-18))
            typ lid a (file "", line 48 (char 13-14))
            typ lid b (file "", line 48 (char 17-18))
  class type 4:
    class type def d (file "", line 50 (char 4-18))
      class type params (0 params) (file "", line 50 (char 3-4))
      object type with 0 items (file "", line 50 (char 8-18))
        no self type
class defs with 1 classes (file "", line 51 (char 0) - line 58 (char 3))
  class 1:
    class def f (file "", line 51 (char 6) - line 58 (char 3))
      class type params (0 params) (file "", line 51 (char 5-6))
      object def with 6 items (file "", line 51 (char 10) - line 58 (char 3))
        no self pattern
          item 1:
            inherit (file "", line 52 (char 2-20))
              class application (file "", line 52 (char 10-15))
                class longident (monomorphic) with 2 ids (file "", line 52 (char 10-13))
                  A.c
                int const 4 (file "", line 52 (char 14-15))
              alias a
          item 2:
            inherit (file "", line 53 (char 2-11))
              class longident (monomorphic) with 1 ids (file "", line 53 (char 10-11))
                b
              no alias
          item 3:
            inherit a455667 (special) (file "", line 54 (char 2-22))
              alias b
          item 4:
            val a (mutable) (file "", line 55 (char 2-19))
              int const 5 (file "", line 55 (char 18-19))
          item 5:
            val b (nonmutable) (file "", line 56 (char 2-17))
              typed ex (file "", line 56 (char 8-17))
                int const 6 (file "", line 56 (char 16-17))
                typ lid int (file "", line 56 (char 10-13))
          item 6:
            val a878787 nonmutable (special) (file "", line 57 (char 2-22))
              tick a (file "", line 57 (char 16-18))
              int const 7 (file "", line 57 (char 21-22))
class defs with 1 classes (file "", line 59 (char 0-48))
  class 1:
    class def e (file "", line 59 (char 6-48))
      class type params (0 params) (file "", line 59 (char 5-6))
      let rec in (class_expr) with 2 bindings (file "", line 59 (char 10-48))
          bind 1:
              plid "z" (file "", line 59 (char 18-19))
            to
              int const 5 (file "", line 59 (char 22-23))
          bind 2:
              plid "y" (file "", line 59 (char 28-29))
            to
              int const 6 (file "", line 59 (char 32-33))
        in
          class application (file "", line 59 (char 37-48))
            class longident (monomorphic) with 3 ids (file "", line 59 (char 37-42))
              A.B.f
            two tuple (file "", line 59 (char 44-47))
              int const 6 (file "", line 59 (char 44-45))
              int const 7 (file "", line 59 (char 46-47))
class defs with 1 classes (file "", line 60 (char 0-55))
  class 1:
    class def g (file "", line 60 (char 6-55))
      class type params (0 params) (file "", line 60 (char 5-6))
      let in (class_expr) with 2 bindings (file "", line 60 (char 10-55))
          bind 1:
              plid "z" (file "", line 60 (char 14-15))
            to
              int const 0 (file "", line 60 (char 18-19))
          bind 2:
              plid "y" (file "", line 60 (char 24-25))
            to
              int const 6 (file "", line 60 (char 28-29))
        in
          typed class expr (file "", line 60 (char 33-55))
            class longident (polymorphic) (file "", line 60 (char 34-46))
              2 type args:
                Arg 1: 
                  tuple type with 2 elements (file "", line 60 (char 35-40))
                    El 1: 
                      typ lid t (file "", line 60 (char 35-36))
                    El 2: 
                      typ lid q (file "", line 60 (char 39-40))
                Arg 2: 
                  typ lid r (file "", line 60 (char 42-43))
              1 ids:
                h
            monomorphic class type longident (file "", line 60 (char 49-54))
              3 ids:
                A.B.i
class defs with 1 classes (file "", line 61 (char 0-37))
  class 1:
    class def a (file "", line 61 (char 6-37))
      class type params (0 params) (file "", line 61 (char 5-6))
      object fun a013489 b (special) (file "", line 61 (char 14-37))
        object def with 0 items (file "", line 61 (char 27-37))
          no self pattern
class def a94827 (special) (file "", line 62 (char 0-29))
  plid "a" (file "", line 62 (char 13-14))
  plid "b" (file "", line 62 (char 15-16))
  object def with 0 items (file "", line 62 (char 19-29))
    no self pattern
class defs with 3 classes (file "", line 63 (char 0) - line 75 (char 3))
  class 1:
    virtual class def c (file "", line 63 (char 6) - line 64 (char 3))
      class type params (0 params) (file "", line 63 (char 13-14))
      object fun (file "", line 63 (char 16) - line 64 (char 3))
        tuple pattern - 2 els (file "", line 63 (char 17-21))
          El 1: 
            plid "c" (file "", line 63 (char 17-18))
          El 2: 
            plid "d" (file "", line 63 (char 20-21))
        object fun (file "", line 63 (char 23) - line 64 (char 3))
          plid "e" (file "", line 63 (char 23-24))
          object def with 0 items (file "", line 63 (char 27) - line 64 (char 3))
            self pattern:
              plid "self" (file "", line 63 (char 35-39))
  class 2:
    class def d (file "", line 65 (char 4-38))
      class type params (0 params) (file "", line 65 (char 3-4))
      object fun (file "", line 65 (char 12-38))
        plid "k" (file "", line 65 (char 12-13))
        object fun (file "", line 65 (char 14-38))
          plid "l" (file "", line 65 (char 14-15))
          object fun (file "", line 65 (char 23-38))
            plid "m" (file "", line 65 (char 23-24))
            object def with 0 items (file "", line 65 (char 28-38))
              no self pattern
  class 3:
    class def a (file "", line 66 (char 4) - line 75 (char 3))
      class type params (2 params) (file "", line 66 (char 4-14))
        param 1: 
          - a
        param 2: 
          + b
      object def with 8 items (file "", line 66 (char 19) - line 75 (char 3))
        self pattern:
          pattern : type (file "", line 66 (char 26-39))
            plid "self" (file "", line 66 (char 27-31))
            typ uid Self (file "", line 66 (char 34-38))
          item 1:
            class constraint (file "", line 67 (char 2-18))
                typ lid a (file "", line 67 (char 13-14))
              =
                typ lid b (file "", line 67 (char 17-18))
          item 2:
            initializer (file "", line 68 (char 2-16))
              int const 57 (file "", line 68 (char 14-16))
          item 3:
            virtual method a (file "", line 69 (char 2-24))
              typ lid int (file "", line 69 (char 21-24))
          item 4:
            virtual private method b (file "", line 70 (char 2-32))
              typ lid int (file "", line 70 (char 29-32))
          item 5:
            private method m1 (file "", line 71 (char 2-48))
              type annotation:
                poly type tv list with 1 tv (file "", line 71 (char 22-35))
                  type var 1: 
                    tick a
                  function type (file "", line 71 (char 27-35))
                    tick a (file "", line 71 (char 27-29))
                    tick a (file "", line 71 (char 33-35))
              method body:
                fun with 1 patterns (file "", line 71 (char 38-48))
                  case 1:
                      plid "a" (file "", line 71 (char 42-43))
                    when empty
                    ->
                      lid "a" (file "", line 71 (char 47-48))
          item 6:
            private method m2 (file "", line 72 (char 2-35))
              no type annotation
              method body:
                fun with 1 patterns (file "", line 72 (char 20-35))
                  case 1:
                      plid "a" (file "", line 72 (char 20-21))
                    when empty
                    ->
                      fun with 1 patterns (file "", line 72 (char 22-35))
                        case 1:
                            plid "b" (file "", line 72 (char 22-23))
                          when empty
                          ->
                            typed ex (file "", line 72 (char 24-35))
                              two tuple (file "", line 72 (char 31-34))
                                lid "a" (file "", line 72 (char 31-32))
                                lid "b" (file "", line 72 (char 33-34))
                              typ lid t (file "", line 72 (char 26-27))
          item 7:
            method m3 (file "", line 73 (char 2-25))
              type annotation:
                poly type tv list with 1 tv (file "", line 73 (char 14-21))
                  type var 1: 
                    tick a
                  tick a (file "", line 73 (char 19-21))
              method body:
                lid "a" (file "", line 73 (char 24-25))
          item 8:
            method m4 (file "", line 74 (char 2-25))
              no type annotation
              method body:
                fun with 1 patterns (file "", line 74 (char 12-25))
                  case 1:
                      tuple pattern - 2 els (file "", line 74 (char 13-16))
                        El 1: 
                          plid "a" (file "", line 74 (char 13-14))
                        El 2: 
                          plid "b" (file "", line 74 (char 15-16))
                    when empty
                    ->
                      typed ex (file "", line 74 (char 18-25))
                        lid "a" (file "", line 74 (char 24-25))
                        typ lid t (file "", line 74 (char 20-21))
let mod (str item) Z (file "", line 76 (char 0-59))
    struct with 0 items (file "", line 76 (char 15-25))
  in
    let mod (expr) Y (file "", line 76 (char 29-59))
        struct with 0 items (file "", line 76 (char 44-54))
      in
        int const 5 (file "", line 76 (char 58-59))
module rec with 2 modules (file "", line 77 (char 0) - line 78 (char 54))
  mod rec 1: 
    name R1
    sig:
      mod type UID RT1 (file "", line 77 (char 16-19))
    module:
      struct with 1 items (file "", line 77 (char 22-54))
        item 1: 
          type decl with 1 types (file "", line 77 (char 29-50))
            decl 1:
              type r1 (file "", line 77 (char 34-50))
                0 type parameters:
                rhs type:
                  variant type with 1 variants (file "", line 77 (char 39-50))
                    variant 1:
                      R1 with 1 args (file "", line 77 (char 39-50))
                        Arg 1: 
                          type module access (file "", line 77 (char 45-50))
                            typ uid R2 (file "", line 77 (char 45-47))
                            typ lid r2 (file "", line 77 (char 48-50))
                0 constraints:
  mod rec 2: 
    name R2
    sig:
      mod type UID RT2 (file "", line 78 (char 16-19))
    module:
      struct with 1 items (file "", line 78 (char 22-54))
        item 1: 
          type decl with 1 types (file "", line 78 (char 29-50))
            decl 1:
              type r2 (file "", line 78 (char 34-50))
                0 type parameters:
                rhs type:
                  variant type with 1 variants (file "", line 78 (char 39-50))
                    variant 1:
                      R2 with 1 args (file "", line 78 (char 39-50))
                        Arg 1: 
                          type module access (file "", line 78 (char 45-50))
                            typ uid R1 (file "", line 78 (char 45-47))
                            typ lid r1 (file "", line 78 (char 48-50))
                0 constraints:
module type B (file "", line 79 (char 0-56))
  signature with 1 fields (file "", line 79 (char 16-56))
    item 1: 
      module rec decl with 2 modules (file "", line 79 (char 20-52))
        mod rec 1: 
          name R1
          mod type UID RT1 (file "", line 79 (char 36-39))
        mod rec 2: 
          name R2
          mod type UID RT2 (file "", line 79 (char 49-52))
include (file "", line 80 (char 0-9))
  mexpr uid A (file "", line 80 (char 8-9))
module type A (file "", line 81 (char 0-60))
  module type with 2 with constraints (file "", line 81 (char 16-60))
    signature with 0 fields (file "", line 81 (char 16-23))
    constraint 1: 
      type with constraint (file "", line 81 (char 29-41))
      no type parameters
        t
      =
        typ lid int (file "", line 81 (char 38-41))
    constraint 2: 
      module with constraint (file "", line 81 (char 46-60))
        A
      =
        mod access (file "", line 81 (char 57-60))
          mexpr uid B (file "", line 81 (char 57-58))
          mexpr uid C (file "", line 81 (char 59-60))
module type S2 (file "", line 82 (char 0) - line 96 (char 3))
  signature with 13 fields (file "", line 82 (char 17) - line 96 (char 3))
    item 1: 
      exception decl A with 2 args (file "", line 83 (char 2-26))
        Arg 1: 
          typ lid int (file "", line 83 (char 17-20))
        Arg 2: 
          typ lid int (file "", line 83 (char 23-26))
    item 2: 
      external decl *** with 2 strings (file "", line 84 (char 2-41))
        function type (file "", line 84 (char 21-31))
          typ lid int (file "", line 84 (char 21-24))
          typ lid int (file "", line 84 (char 28-31))
        string 1: 
          a
        string 2: 
          b
    item 3: 
      external decl a with 2 strings (file "", line 85 (char 2-35))
        function type (file "", line 85 (char 15-25))
          typ lid int (file "", line 85 (char 15-18))
          typ lid int (file "", line 85 (char 22-25))
        string 1: 
          a
        string 2: 
          b
    item 4: 
      include sig (file "", line 86 (char 2-11))
        mod type UID A (file "", line 86 (char 10-11))
    item 5: 
      module type decl B (file "", line 87 (char 2-15))
        abstract mod type 'abstract (file "", line 87 (char 2-15))
    item 6: 
      module type decl C (file "", line 88 (char 2-24))
        mod type access (file "", line 88 (char 18-24))
          mod type appl (file "", line 88 (char 18-22))
            mod type UID G (file "", line 88 (char 18-19))
            mod type UID A (file "", line 88 (char 20-21))
          mod type UID H (file "", line 88 (char 23-24))
    item 7: 
      sig open C . D (file "", line 89 (char 2-10))
    item 8: 
      sig open (file "", line 90 (char 2-12))
        C.D.E
    item 9: 
      sig type decl with 1 types (file "", line 91 (char 2-41))
        type 1:
          type a (file "", line 91 (char 7-41))
            0 type parameters:
            rhs type:
              type manifest (file "", line 91 (char 11-41))
                typ lid f (file "", line 91 (char 11-12))
                private variant type with 2 variants (file "", line 91 (char 11-41))
                  variant 1:
                    A with 3 args (file "", line 91 (char 23-37))
                      Arg 1: 
                        typ lid a (file "", line 91 (char 28-29))
                      Arg 2: 
                        typ lid b (file "", line 91 (char 32-33))
                      Arg 3: 
                        typ lid c (file "", line 91 (char 36-37))
                  variant 2:
                    B with 0 args (file "", line 91 (char 40-41))
            0 constraints:
    item 10: 
      sig type decl with 2 types (file "", line 92 (char 2-76))
        type 1:
          type b (file "", line 92 (char 11-32))
            1 type parameters:
              param 1: 
                + a
            rhs type:
              tick b (file "", line 92 (char 7-32))
            1 constraints:
              constraint 1:
                  tick a (file "", line 92 (char 24-26))
                =
                  typ lid int (file "", line 92 (char 29-32))
        type 2:
          type e (file "", line 92 (char 47-76))
            2 type parameters:
              param 1: 
                = c
              param 2: 
                - d
            rhs type:
              private record type with 2 fields (file "", line 92 (char 51-76))
                field 1: 
                  a (file "", line 92 (char 60-67))
                  typ lid int (file "", line 92 (char 64-67))
                field 2: 
                  b (file "", line 92 (char 69-75))
                  tick c (file "", line 92 (char 73-75))
            0 constraints:
    item 11: 
      val decl x :  (file "", line 93 (char 2-30))
        function type (file "", line 93 (char 10-30))
          typ lid unit (file "", line 93 (char 10-14))
          function type (file "", line 93 (char 18-30))
            typ lid unit (file "", line 93 (char 18-22))
            typ lid unit (file "", line 93 (char 26-30))
    item 12: 
      val decl +++ :  (file "", line 94 (char 2-31))
        function type (file "", line 94 (char 14-31))
          typ lid int (file "", line 94 (char 14-17))
          function type (file "", line 94 (char 21-31))
            typ lid int (file "", line 94 (char 21-24))
            typ lid int (file "", line 94 (char 28-31))
    item 13: 
      module decl M5 (file "", line 95 (char 2-41))
        signature with 1 fields (file "", line 95 (char 14-41))
          item 1: 
            module A(B : C) : D (file "", line 95 (char 18-37))
module type S3 (file "", line 97 (char 0-74))
  functor mod type (file "", line 97 (char 17-74))
    Argument X:
      mod type UID S4 (file "", line 97 (char 29-31))
    Result:
      signature with 1 fields (file "", line 97 (char 36-74))
        item 1: 
          val decl ++ :  (file "", line 97 (char 40-70))
            function type (file "", line 97 (char 51-70))
              typ lid int (file "", line 97 (char 51-54))
              function type (file "", line 97 (char 58-70))
                typ lid int (file "", line 97 (char 58-61))
                typ lid float (file "", line 97 (char 65-70))
module M4 (file "", line 98 (char 0-19))
  module constraint (file "", line 98 (char 12-19))
    mexpr uid A (file "", line 98 (char 13-14))
    mod type UID S (file "", line 98 (char 17-18))
module M1 (file "", line 99 (char 0-17))
  mod access (file "", line 99 (char 12-17))
    mod access (file "", line 99 (char 12-15))
      mexpr uid A (file "", line 99 (char 12-13))
      mexpr uid B (file "", line 99 (char 14-15))
    mexpr uid C (file "", line 99 (char 16-17))
module M2 (file "", line 100 (char 0-27))
  mod appl (file "", line 100 (char 12-27))
    mexpr uid F (file "", line 100 (char 12-13))
    mod appl (file "", line 100 (char 15-26))
      mod appl (file "", line 100 (char 15-24))
        mod access (file "", line 100 (char 15-18))
          mexpr uid A (file "", line 100 (char 15-16))
          mexpr uid G (file "", line 100 (char 17-18))
        mod access (file "", line 100 (char 19-24))
          mod access (file "", line 100 (char 19-22))
            mexpr uid B (file "", line 100 (char 19-20))
            mexpr uid C (file "", line 100 (char 21-22))
          mexpr uid K (file "", line 100 (char 23-24))
      mexpr uid H (file "", line 100 (char 25-26))
module M3 (file "", line 101 (char 0) - line 106 (char 3))
  struct with 4 items (file "", line 101 (char 12) - line 106 (char 3))
    item 1: 
      type decl with 1 types (file "", line 102 (char 2-8))
        decl 1:
          type t (file "", line 102 (char 7-8))
            0 type parameters:
            rhs type:
              tick a (file "", line 102 (char 7-8))
            0 constraints:
    item 2: 
      let (str item) with 1 bindings (file "", line 103 (char 2-15))
        bind 1:
            plid "f" (file "", line 103 (char 6-7))
          to
            fun with 1 patterns (file "", line 103 (char 6-7))
              case 1:
                  plid "a" (file "", line 103 (char 8-9))
                when empty
                ->
                  fun with 1 patterns (file "", line 103 (char 6-7))
                    case 1:
                        plid "b" (file "", line 103 (char 10-11))
                      when empty
                      ->
                        int const 2 (file "", line 103 (char 14-15))
    item 3: 
      top level expr (file "", line 104 (char 2-3))
        int const 3 (file "", line 104 (char 2-3))
    item 4: 
      module M4 (file "", line 105 (char 2-39))
        mod appl (file "", line 105 (char 14-39))
          mexpr uid F (file "", line 105 (char 14-15))
          struct with 1 items (file "", line 105 (char 17-38))
            item 1: 
              let (str item) with 1 bindings (file "", line 105 (char 24-34))
                bind 1:
                    plid "a" (file "", line 105 (char 28-29))
                  to
                    int const 27 (file "", line 105 (char 32-34))
top level expr (file "", line 107 (char 0) - line 130 (char 18))
  fun with 4 patterns (file "", line 107 (char 0) - line 130 (char 18))
    case 1:
        or pattern (file "", line 108 (char 4) - line 112 (char 16))
          or pattern (file "", line 108 (char 4) - line 112 (char 8))
            or pattern (file "", line 108 (char 4) - line 111 (char 11))
              or pattern (file "", line 108 (char 4) - line 110 (char 23))
                or pattern (file "", line 108 (char 4) - line 110 (char 9))
                  or pattern (file "", line 108 (char 4) - line 109 (char 29))
                    plid "++++" (file "", line 108 (char 4-10))
                    record pattern - 2 els (file "", line 109 (char 4-29))
                      El 1: 
                          plid "a" (file "", line 109 (char 6-7))
                        =
                          unit pattern (file "", line 109 (char 10-12))
                      El 2: 
                          plid "b" (file "", line 109 (char 14-15))
                        =
                          pattern : type (file "", line 109 (char 18-27))
                            plid "z" (file "", line 109 (char 19-20))
                            typ lid int (file "", line 109 (char 23-26))
                  pattern empty array (file "", line 110 (char 4-9))
                array pattern - 3 els (file "", line 110 (char 12-23))
                  El 1: 
                    int patt 1 (file "", line 110 (char 15-16))
                  El 2: 
                    int patt 2 (file "", line 110 (char 17-18))
                  El 3: 
                    int patt 3 (file "", line 110 (char 19-20))
              three element patt list (file "", line 111 (char 4-11))
                int patt 1 (file "", line 111 (char 5-6))
                int patt 2 (file "", line 111 (char 7-8))
                int patt 3 (file "", line 111 (char 9-10))
            patt True (file "", line 112 (char 4-8))
          patt False (file "", line 112 (char 11-16))
      when empty
      ->
        False (file "", line 112 (char 20-25))
    case 2:
        or pattern (file "", line 113 (char 4-16))
          patt true (file "", line 113 (char 4-8))
          patt false (file "", line 113 (char 11-16))
      when empty
      ->
        True (file "", line 113 (char 20-24))
    case 3:
        or pattern (file "", line 114 (char 4) - line 116 (char 12))
          or pattern (file "", line 114 (char 4) - line 115 (char 21))
            patt rec/mod (file "", line 114 (char 4-9))
              patt rec/mod (file "", line 114 (char 4-7))
                PUID "A" (file "", line 114 (char 4-5))
                PUID "B" (file "", line 114 (char 6-7))
              plid "c" (file "", line 114 (char 8-9))
            patt list :: (file "", line 115 (char 4-21))
              int patt 0 (file "", line 115 (char 4-5))
              patt list :: (file "", line 115 (char 7-21))
                int patt 1 (file "", line 115 (char 7-8))
                three element patt list (file "", line 115 (char 10-21))
                  int patt 2 (file "", line 115 (char 10-11))
                  int patt 3 (file "", line 115 (char 13-14))
                  int patt 4 (file "", line 115 (char 16-17))
          patt [0; 1 :: []] (file "", line 116 (char 4-12))
      when empty
      ->
        unit (file "", line 116 (char 21-23))
    case 4:
        or pattern (file "", line 117 (char 4) - line 130 (char 13))
          or pattern (file "", line 117 (char 4) - line 129 (char 10))
            or pattern (file "", line 117 (char 4) - line 128 (char 7))
              or pattern (file "", line 117 (char 4) - line 127 (char 10))
                or pattern (file "", line 117 (char 4) - line 126 (char 9))
                  or pattern (file "", line 117 (char 4) - line 125 (char 6))
                    or pattern (file "", line 117 (char 4) - line 124 (char 6))
                      or pattern (file "", line 117 (char 4) - line 123 (char 6))
                        or pattern (file "", line 117 (char 4) - line 122 (char 5))
                          or pattern (file "", line 117 (char 4) - line 121 (char 6))
                            or pattern (file "", line 117 (char 4) - line 120 (char 5))
                              or pattern (file "", line 117 (char 4) - line 119 (char 12))
                                or pattern (file "", line 117 (char 4) - line 118 (char 16))
                                  tuple pattern 0,1 (file "", line 117 (char 4-7))
                                  tuple pattern - 3 els (file "", line 118 (char 4-16))
                                    El 1: 
                                      int patt 2 (file "", line 118 (char 4-5))
                                    El 2: 
                                      pattern range (file "", line 118 (char 6-14))
                                        char patt a (file "", line 118 (char 6-9))
                                        char patt f (file "", line 118 (char 11-14))
                                    El 3: 
                                      int patt 8 (file "", line 118 (char 15-16))
                                alias pattern (file "", line 119 (char 5-11))
                                  anon _ (file "", line 119 (char 5-6))
                                  plid "x" (file "", line 119 (char 5-11))
                              plid "a" (file "", line 120 (char 4-5))
                            int -5 pattern (file "", line 121 (char 4-6))
                          int patt 5 (file "", line 122 (char 4-5))
                        int32 patt 6 (file "", line 123 (char 4-6))
                      int64 patt 7 (file "", line 124 (char 4-6))
                    nativeint patt 8 (file "", line 125 (char 4-6))
                  strint patt abc (file "", line 126 (char 4-9))
                float patt 7.4E+2 (file "", line 127 (char 4-10))
              char patt l (file "", line 128 (char 4-7))
            pattern application (file "", line 129 (char 4-10))
              pattern application (file "", line 129 (char 4-10))
                PUID "A" (file "", line 129 (char 4-5))
                plid "a" (file "", line 129 (char 6-7))
              plid "b" (file "", line 129 (char 8-9))
          pattern application (file "", line 130 (char 4-13))
            PUID "Some" (file "", line 130 (char 4-8))
            tuple pattern - 2 els (file "", line 130 (char 9-12))
              El 1: 
                plid "a" (file "", line 130 (char 9-10))
              El 2: 
                plid "b" (file "", line 130 (char 11-12))
      when empty
      ->
        lid "b" (file "", line 130 (char 17-18))
top level expr (file "", line 131 (char 0-10))
  assignment (file "", line 131 (char 0-10))
    string get (file "", line 131 (char 0-5))
      lid "a" (file "", line 131 (char 0-1))
      int const 2 (file "", line 131 (char 3-4))
    int const 5 (file "", line 131 (char 9-10))
top level expr (file "", line 132 (char 0-10))
  assignment (file "", line 132 (char 0-10))
    array get (file "", line 132 (char 0-5))
      lid "a" (file "", line 132 (char 0-1))
      int const 2 (file "", line 132 (char 3-4))
    int const 5 (file "", line 132 (char 9-10))
external *** with 2 strings (file "", line 133 (char 0-39))
  function type (file "", line 133 (char 19-29))
    typ lid int (file "", line 133 (char 19-22))
    typ lid int (file "", line 133 (char 26-29))
  string 1: 
    a
  string 2: 
    b
external a with 2 strings (file "", line 134 (char 0-33))
  function type (file "", line 134 (char 13-23))
    typ lid int (file "", line 134 (char 13-16))
    typ lid int (file "", line 134 (char 20-23))
  string 1: 
    a
  string 2: 
    b
exception A with 2 args and rebind (file "", line 135 (char 0-30))
    Arg 1: 
      typ lid int (file "", line 135 (char 15-18))
    Arg 2: 
      typ lid int (file "", line 135 (char 21-24))
  rebind to U.A
exception A with 2 args (file "", line 136 (char 0-24))
  Arg 1: 
    typ lid int (file "", line 136 (char 15-18))
  Arg 2: 
    typ lid int (file "", line 136 (char 21-24))
open (file "", line 137 (char 0-10))
  U.V.C
type decl with 1 types (file "", line 138 (char 0-44))
  decl 1:
    type a (file "", line 138 (char 5-44))
      0 type parameters:
      rhs type:
        record type with 2 fields (file "", line 138 (char 9-44))
          field 1: 
            a (file "", line 138 (char 11-24))
            poly type tv list with 2 tv (file "", line 138 (char 15-24))
              type var 1: 
                tick a
              type var 2: 
                tick b
              typ lid c (file "", line 138 (char 23-24))
          field 2: 
            d (file "", line 138 (char 26-42))
            poly type tv list with 3 tv (file "", line 138 (char 30-42))
              type var 1: 
                tick a
              type var 2: 
                tick b
              type var 3: 
                tick c
              typ lid t (file "", line 138 (char 41-42))
      0 constraints:
type decl with 1 types (file "", line 139 (char 0-12))
  decl 1:
    type a (file "", line 139 (char 5-12))
      0 type parameters:
      rhs type:
        type module access (file "", line 139 (char 9-12))
          typ uid U (file "", line 139 (char 9-10))
          typ lid a (file "", line 139 (char 11-12))
      0 constraints:
type decl with 1 types (file "", line 140 (char 0-69))
  decl 1:
    type e (file "", line 140 (char 5-69))
      0 type parameters:
      rhs type:
        type alias (file "", line 140 (char 9-69))
          function type (file "", line 140 (char 9-63))
            typ lid a (file "", line 140 (char 9-10))
            function type (file "", line 140 (char 14-63))
              tuple type with 3 elements (file "", line 140 (char 14-23))
                El 1: 
                  typ lid a (file "", line 140 (char 14-15))
                El 2: 
                  typ lid b (file "", line 140 (char 18-19))
                El 3: 
                  typ lid c (file "", line 140 (char 22-23))
              tuple type with 2 elements (file "", line 140 (char 27-63))
                El 1: 
                  type application (file "", line 140 (char 27-47))
                    type application (file "", line 140 (char 27-47))
                      type application (file "", line 140 (char 27-47))
                        typ lid tyconstr (file "", line 140 (char 39-47))
                        tick c (file "", line 140 (char 28-30))
                      anon type (file "", line 140 (char 32-33))
                    tick e (file "", line 140 (char 35-37))
                El 2: 
                  type application (file "", line 140 (char 50-63))
                    type application (file "", line 140 (char 50-63))
                      typ lid tree (file "", line 140 (char 59-63))
                      tick a (file "", line 140 (char 51-53))
                    tick b (file "", line 140 (char 55-57))
          tick a (file "", line 140 (char 9-69))
      0 constraints:
type decl with 1 types (file "", line 141 (char 0-18))
  decl 1:
    type e (file "", line 141 (char 5-18))
      0 type parameters:
      rhs type:
        record type with 1 fields (file "", line 141 (char 9-18))
          field 1: 
            a (file "", line 141 (char 10-17))
            typ lid int (file "", line 141 (char 14-17))
      0 constraints:
type decl with 1 types (file "", line 142 (char 0-31))
  decl 1:
    type a (file "", line 142 (char 5-31))
      0 type parameters:
      rhs type:
        type manifest (file "", line 142 (char 9-31))
          typ lid f (file "", line 142 (char 9-10))
          variant type with 2 variants (file "", line 142 (char 9-31))
            variant 1:
              A with 3 args (file "", line 142 (char 13-27))
                Arg 1: 
                  typ lid a (file "", line 142 (char 18-19))
                Arg 2: 
                  typ lid b (file "", line 142 (char 22-23))
                Arg 3: 
                  typ lid c (file "", line 142 (char 26-27))
            variant 2:
              B with 0 args (file "", line 142 (char 30-31))
      0 constraints:
type decl with 1 types (file "", line 143 (char 0-39))
  decl 1:
    type a (file "", line 143 (char 5-39))
      0 type parameters:
      rhs type:
        type manifest (file "", line 143 (char 9-39))
          typ lid f (file "", line 143 (char 9-10))
          private variant type with 2 variants (file "", line 143 (char 9-39))
            variant 1:
              A with 3 args (file "", line 143 (char 21-35))
                Arg 1: 
                  typ lid a (file "", line 143 (char 26-27))
                Arg 2: 
                  typ lid b (file "", line 143 (char 30-31))
                Arg 3: 
                  typ lid c (file "", line 143 (char 34-35))
            variant 2:
              B with 0 args (file "", line 143 (char 38-39))
      0 constraints:
type decl with 1 types (file "", line 144 (char 0-22))
  decl 1:
    type e (file "", line 144 (char 5-22))
      0 type parameters:
      rhs type:
        type manifest (file "", line 144 (char 9-22))
          typ lid f (file "", line 144 (char 9-10))
          record type with 1 fields (file "", line 144 (char 9-22))
            field 1: 
              a (file "", line 144 (char 14-21))
              typ lid int (file "", line 144 (char 18-21))
      0 constraints:
type decl with 1 types (file "", line 145 (char 0-30))
  decl 1:
    type e (file "", line 145 (char 5-30))
      0 type parameters:
      rhs type:
        type manifest (file "", line 145 (char 9-30))
          typ lid f (file "", line 145 (char 9-10))
          private record type with 1 fields (file "", line 145 (char 9-30))
            field 1: 
              a (file "", line 145 (char 22-29))
              typ lid int (file "", line 145 (char 26-29))
      0 constraints:
type decl with 1 types (file "", line 146 (char 0-42))
  decl 1:
    type a (file "", line 146 (char 5-42))
      0 type parameters:
      rhs type:
        variant type with 3 variants (file "", line 146 (char 9-42))
          variant 1:
            A with 3 args (file "", line 146 (char 9-23))
              Arg 1: 
                typ lid a (file "", line 146 (char 14-15))
              Arg 2: 
                typ lid b (file "", line 146 (char 18-19))
              Arg 3: 
                typ lid c (file "", line 146 (char 22-23))
          variant 2:
            B with 0 args (file "", line 146 (char 26-27))
          variant 3:
            C with 1 args (file "", line 146 (char 30-42))
              Arg 1: 
                tuple type with 2 elements (file "", line 146 (char 36-41))
                  El 1: 
                    typ lid a (file "", line 146 (char 36-37))
                  El 2: 
                    typ lid b (file "", line 146 (char 40-41))
      0 constraints:
type decl with 1 types (file "", line 147 (char 0-52))
  decl 1:
    type a (file "", line 147 (char 5-52))
      0 type parameters:
      rhs type:
        private variant type with 3 variants (file "", line 147 (char 9-52))
          variant 1:
            A with 3 args (file "", line 147 (char 19-33))
              Arg 1: 
                typ lid a (file "", line 147 (char 24-25))
              Arg 2: 
                typ lid b (file "", line 147 (char 28-29))
              Arg 3: 
                typ lid c (file "", line 147 (char 32-33))
          variant 2:
            B with 0 args (file "", line 147 (char 36-37))
          variant 3:
            C with 1 args (file "", line 147 (char 40-52))
              Arg 1: 
                tuple type with 2 elements (file "", line 147 (char 46-51))
                  El 1: 
                    typ lid a (file "", line 147 (char 46-47))
                  El 2: 
                    typ lid b (file "", line 147 (char 50-51))
      0 constraints:
type decl with 2 types (file "", line 148 (char 0-74))
  decl 1:
    type b (file "", line 148 (char 9-30))
      1 type parameters:
        param 1: 
          + a
      rhs type:
        tick b (file "", line 148 (char 5-30))
      1 constraints:
        constraint 1:
            tick a (file "", line 148 (char 22-24))
          =
            typ lid int (file "", line 148 (char 27-30))
  decl 2:
    type e (file "", line 148 (char 45-74))
      2 type parameters:
        param 1: 
          = c
        param 2: 
          - d
      rhs type:
        private record type with 2 fields (file "", line 148 (char 49-74))
          field 1: 
            a (file "", line 148 (char 58-65))
            typ lid int (file "", line 148 (char 62-65))
          field 2: 
            b (file "", line 148 (char 67-73))
            tick c (file "", line 148 (char 71-73))
      0 constraints:
let rec in (str item) with 2 bindings (file "", line 149 (char 0-32))
    bind 1:
        plid "a" (file "", line 149 (char 8-9))
      to
        int const 1 (file "", line 149 (char 12-13))
    bind 2:
        plid "c" (file "", line 149 (char 18-19))
      to
        fun with 1 patterns (file "", line 149 (char 18-19))
          case 1:
              plid "d" (file "", line 149 (char 20-21))
            when empty
            ->
              fun with 1 patterns (file "", line 149 (char 18-19))
                case 1:
                    plid "e" (file "", line 149 (char 22-23))
                  when empty
                  ->
                    int const 2 (file "", line 149 (char 26-27))
  in
    int const 3 (file "", line 149 (char 31-32))
let (str item) with 2 bindings (file "", line 150 (char 0-19))
  bind 1:
      plid "a" (file "", line 150 (char 4-5))
    to
      int const 1 (file "", line 150 (char 8-9))
  bind 2:
      plid "b" (file "", line 150 (char 14-15))
    to
      int const 2 (file "", line 150 (char 18-19))
top level expr (file "", line 151 (char 0-8))
  assignment (file "", line 151 (char 0-8))
    record/module access (file "", line 151 (char 0-3))
      lid "a" (file "", line 151 (char 0-1))
      lid "v" (file "", line 151 (char 2-3))
    int const 0 (file "", line 151 (char 7-8))
top level expr (file "", line 152 (char 0-6))
  assignment (file "", line 152 (char 0-6))
    ref contents (file "", line 152 (char 0-6))
      lid "a" (file "", line 152 (char 0-1))
    int const 3 (file "", line 152 (char 5-6))
top level expr (file "", line 153 (char 0-10))
  application (file "", line 153 (char 0-10))
    application (file "", line 153 (char 0-10))
      application (file "", line 153 (char 0-10))
        record/module access (file "", line 153 (char 0-10))
          record/module access (file "", line 153 (char 0-10))
            uid "Bigarray" (file "", line 153 (char 0-10))
            uid "Array1" (file "", line 153 (char 0-10))
          lid "set" (file "", line 153 (char 0-10))
        lid "a" (file "", line 153 (char 0-1))
      int const 1 (file "", line 153 (char 3-4))
    int const 2 (file "", line 153 (char 9-10))
top level expr (file "", line 154 (char 0-12))
  application (file "", line 154 (char 0-12))
    application (file "", line 154 (char 0-12))
      application (file "", line 154 (char 0-12))
        application (file "", line 154 (char 0-12))
          record/module access (file "", line 154 (char 0-12))
            record/module access (file "", line 154 (char 0-12))
              uid "Bigarray" (file "", line 154 (char 0-12))
              uid "Array2" (file "", line 154 (char 0-12))
            lid "set" (file "", line 154 (char 0-12))
          lid "a" (file "", line 154 (char 0-1))
        int const 1 (file "", line 154 (char 3-4))
      int const 2 (file "", line 154 (char 5-6))
    int const 3 (file "", line 154 (char 11-12))
top level expr (file "", line 155 (char 0-14))
  application (file "", line 155 (char 0-14))
    application (file "", line 155 (char 0-14))
      application (file "", line 155 (char 0-14))
        application (file "", line 155 (char 0-14))
          application (file "", line 155 (char 0-14))
            record/module access (file "", line 155 (char 0-14))
              record/module access (file "", line 155 (char 0-14))
                uid "Bigarray" (file "", line 155 (char 0-14))
                uid "Array3" (file "", line 155 (char 0-14))
              lid "set" (file "", line 155 (char 0-14))
            lid "a" (file "", line 155 (char 0-1))
          int const 1 (file "", line 155 (char 3-4))
        int const 2 (file "", line 155 (char 5-6))
      int const 3 (file "", line 155 (char 7-8))
    int const 4 (file "", line 155 (char 13-14))
top level expr (file "", line 156 (char 0-16))
  application (file "", line 156 (char 0-16))
    application (file "", line 156 (char 0-16))
      application (file "", line 156 (char 0-16))
        record/module access (file "", line 156 (char 0-16))
          record/module access (file "", line 156 (char 0-16))
            uid "Bigarray" (file "", line 156 (char 0-16))
            uid "Genarray" (file "", line 156 (char 0-16))
          lid "set" (file "", line 156 (char 0-16))
        lid "a" (file "", line 156 (char 0-1))
      array 4 elements (file "", line 156 (char 0-16))
        El 1 
          int const 1 (file "", line 156 (char 3-4))
        El 2 
          int const 2 (file "", line 156 (char 5-6))
        El 3 
          int const 3 (file "", line 156 (char 7-8))
        El 4 
          int const 4 (file "", line 156 (char 9-10))
    int const 5 (file "", line 156 (char 15-16))
top level expr (file "", line 157 (char 0-51))
  for a downto with 2 statements (file "", line 157 (char 0-51))
    from:
      int const 2 (file "", line 157 (char 8-9))
    to:
      int const 0 (file "", line 157 (char 17-18))
    statements:
      El 1:
        int const 1 (file "", line 157 (char 22-23))
      El 2:
        while with 3 statements (file "", line 157 (char 25-46))
          lid "a" (file "", line 157 (char 31-32))
          El 1:
            int const 1 (file "", line 157 (char 36-37))
          El 2:
            int const 2 (file "", line 157 (char 38-39))
          El 3:
            int const 3 (file "", line 157 (char 40-41))
top level expr (file "", line 158 (char 0-27))
  for a upto with 2 statements (file "", line 158 (char 0-27))
    from:
      int const 2 (file "", line 158 (char 8-9))
    to:
      int const 3 (file "", line 158 (char 13-14))
    statements:
      El 1:
        int const 4 (file "", line 158 (char 18-19))
      El 2:
        int const 5 (file "", line 158 (char 21-22))
top level expr (file "", line 159 (char 0) - line 167 (char 13))
  fun with 3 patterns (file "", line 159 (char 0) - line 167 (char 13))
    case 1:
        plid "a" (file "", line 160 (char 4-5))
      when:
        = (file "", line 160 (char 11-16))
          int const 3 (file "", line 160 (char 11-12))
          int const 4 (file "", line 160 (char 15-16))
      ->
        int const 2 (file "", line 160 (char 20-21))
    case 2:
        anon _ (file "", line 161 (char 4-5))
      when empty
      ->
        if-then-else (file "", line 161 (char 9-23))
          true (file "", line 161 (char 12-16))
          int const 3 (file "", line 161 (char 22-23))
          unit (file "", line 161 (char 9-23))
    case 3:
        plid "c" (file "", line 162 (char 4-5))
      when empty
      ->
        match with 1 cases (file "", line 162 (char 9) - line 167 (char 13))
          lid "c" (file "", line 162 (char 15-16))
          case 1:
              plid "d" (file "", line 163 (char 8-9))
            when empty
            ->
              try with 1 cases (file "", line 164 (char 3) - line 167 (char 13))
                if-then-else (file "", line 165 (char 5-23))
                  int const 3 (file "", line 165 (char 8-9))
                  int const 4 (file "", line 165 (char 15-16))
                  int const 5 (file "", line 165 (char 22-23))
                case 1:
                    plid "x" (file "", line 167 (char 7-8))
                  when empty
                  ->
                    lid "x" (file "", line 167 (char 12-13))
let (str item) with 1 bindings (file "", line 168 (char 0-30))
  bind 1:
      plid "z" (file "", line 168 (char 4-5))
    to
      let a b : <type follows> = 2 in 3 (file "", line 168 (char 8-30))
        typ lid int (file "", line 168 (char 18-21))
let (str item) with 1 bindings (file "", line 169 (char 0-53))
  bind 1:
      plid "z" (file "", line 169 (char 4-5))
    to
      let in (expr) with 1 bindings (file "", line 169 (char 8-53))
          bind 1:
              plid "a" (file "", line 169 (char 12-13))
            to
              int const 2 (file "", line 169 (char 16-17))
        in
          let rec in (expr) with 2 bindings (file "", line 169 (char 21-53))
              bind 1:
                  plid "b" (file "", line 169 (char 29-30))
                to
                  int const 3 (file "", line 169 (char 33-34))
              bind 2:
                  plid "c" (file "", line 169 (char 39-40))
                to
                  fun with 1 patterns (file "", line 169 (char 39-40))
                    case 1:
                        plid "d" (file "", line 169 (char 41-42))
                      when empty
                      ->
                        fun with 1 patterns (file "", line 169 (char 39-40))
                          case 1:
                              plid "e" (file "", line 169 (char 43-44))
                            when empty
                            ->
                              int const 4 (file "", line 169 (char 47-48))
            in
              int const 4 (file "", line 169 (char 52-53))
top level expr (file "", line 170 (char 0-17))
  sequence - 3 els (file "", line 170 (char 1-16))
    El 1
      two sequence (file "", line 170 (char 3-8))
        int const 0 (file "", line 170 (char 3-4))
        int const 1 (file "", line 170 (char 6-7))
    El 2
      int const 2 (file "", line 170 (char 12-13))
    El 3
      int const 3 (file "", line 170 (char 15-16))
top level expr (file "", line 171 (char 0) - line 172 (char 22))
  || (file "", line 171 (char 0) - line 172 (char 22))
    int const 0 (file "", line 171 (char 0-1))
    application (file "", line 171 (char 5) - line 172 (char 22))
      application (file "", line 171 (char 5) - line 172 (char 22))
        lid "or" (file "", line 171 (char 5) - line 172 (char 22))
        int const 1 (file "", line 171 (char 5-6))
      application (file "", line 171 (char 10) - line 172 (char 22))
        application (file "", line 171 (char 10) - line 172 (char 22))
          lid "&" (file "", line 171 (char 10) - line 172 (char 22))
          int const 2 (file "", line 171 (char 10-11))
        && (file "", line 171 (char 14) - line 172 (char 22))
          int const 3 (file "", line 171 (char 14-15))
          != (file "", line 171 (char 19) - line 172 (char 22))
            == (file "", line 171 (char 19-54))
              <> (file "", line 171 (char 19-48))
                = (file "", line 171 (char 19-42))
                  >= (file "", line 171 (char 19-38))
                    <= (file "", line 171 (char 19-33))
                      > (file "", line 171 (char 19-28))
                        < (file "", line 171 (char 19-24))
                          int const 4 (file "", line 171 (char 19-20))
                          int const 5 (file "", line 171 (char 23-24))
                        int const 6 (file "", line 171 (char 27-28))
                      int const 7 (file "", line 171 (char 32-33))
                    int const 8 (file "", line 171 (char 37-38))
                  int const 9 (file "", line 171 (char 41-42))
                int const 10 (file "", line 171 (char 46-48))
              int const 11 (file "", line 171 (char 52-54))
            ^ (file "", line 171 (char 58) - line 172 (char 22))
              int const 12 (file "", line 171 (char 58-60))
              @ (file "", line 172 (char 0-22))
                int const 14 (file "", line 172 (char 0-2))
                application (file "", line 172 (char 5-22))
                  application (file "", line 172 (char 5-22))
                    lid "^@" (file "", line 172 (char 5-22))
                    int const 15 (file "", line 172 (char 5-7))
                  application (file "", line 172 (char 12-21))
                    application (file "", line 172 (char 12-21))
                      lid "===" (file "", line 172 (char 12-21))
                      int const 15 (file "", line 172 (char 12-14))
                    int const 16 (file "", line 172 (char 19-21))
top level expr (file "", line 173 (char 0-15))
  :: (file "", line 173 (char 0-15))
    int const 0 (file "", line 173 (char 0-1))
    :: (file "", line 173 (char 5-15))
      int const 1 (file "", line 173 (char 5-6))
      :: (file "", line 173 (char 10-15))
        int const 2 (file "", line 173 (char 11-12))
        :: (file "", line 173 (char 13-15))
          int const 3 (file "", line 173 (char 13-14))
          nil (file "", line 173 (char 10-15))
top level expr (file "", line 174 (char 0-21))
  - (file "", line 174 (char 0-21))
    + (file "", line 174 (char 0-17))
      +. (file "", line 174 (char 0-13))
        application (file "", line 174 (char 0-8))
          application (file "", line 174 (char 0-8))
            lid "+.+." (file "", line 174 (char 0-8))
            int const 0 (file "", line 174 (char 0-1))
          int const 1 (file "", line 174 (char 7-8))
        int const 2 (file "", line 174 (char 12-13))
      int const 3 (file "", line 174 (char 16-17))
    int const 4 (file "", line 174 (char 20-21))
top level expr (file "", line 175 (char 0-51))
  mod (file "", line 175 (char 0-51))
    lxor (file "", line 175 (char 0-45))
      lor (file "", line 175 (char 0-38))
        land (file "", line 175 (char 0-32))
          * (file "", line 175 (char 0-25))
            / (file "", line 175 (char 0-21))
              *. (file "", line 175 (char 0-17))
                application (file "", line 175 (char 0-12))
                  application (file "", line 175 (char 0-12))
                    lid "%" (file "", line 175 (char 0-12))
                    application (file "", line 175 (char 0-8))
                      application (file "", line 175 (char 0-8))
                        lid "%%%%" (file "", line 175 (char 0-8))
                        int const 9 (file "", line 175 (char 0-1))
                      int const 0 (file "", line 175 (char 7-8))
                  int const 1 (file "", line 175 (char 11-12))
                int const 2 (file "", line 175 (char 16-17))
              int const 3 (file "", line 175 (char 20-21))
            int const 4 (file "", line 175 (char 24-25))
          int const 5 (file "", line 175 (char 31-32))
        int const 6 (file "", line 175 (char 37-38))
      int const 7 (file "", line 175 (char 44-45))
    int const 8 (file "", line 175 (char 50-51))
top level expr (file "", line 176 (char 0-41))
  tuple - 6 els (file "", line 176 (char 0-41))
    El 1: 
      int const -5 (file "", line 176 (char 0-2))
    El 2: 
      minus minus 5 (file "", line 176 (char 5-9))
    El 3: 
      int32 const -6 (file "", line 176 (char 13-15))
    El 4: 
      int neg (file "", line 176 (char 18-25))
        int neg (file "", line 176 (char 20-25))
          minus 7L (file "", line 176 (char 23-25))
    El 5: 
      nativeint const -8 (file "", line 176 (char 29-31))
    El 6: 
      minus minus 7.0 (file "", line 176 (char 34-40))
top level expr (file "", line 177 (char 0-22))
  Some 2 tuple (file "", line 177 (char 0-22))
    El 1 
      Some(1, 2, 3) (file "", line 177 (char 5-16))
    El 2 
      application (file "", line 177 (char 18-21))
        lid "f" (file "", line 177 (char 18-19))
        lid "a" (file "", line 177 (char 20-21))
top level expr (file "", line 178 (char 0-25))
  assert (file "", line 178 (char 0-25))
    lazy (file "", line 178 (char 7-24))
      assert false (file "", line 178 (char 12-24))
top level expr (file "", line 179 (char 0-5))
  application (file "", line 179 (char 0-5))
    application (file "", line 179 (char 0-5))
      record/module access (file "", line 179 (char 0-5))
        record/module access (file "", line 179 (char 0-5))
          uid "Bigarray" (file "", line 179 (char 0-5))
          uid "Array1" (file "", line 179 (char 0-5))
        lid "get" (file "", line 179 (char 0-5))
      lid "a" (file "", line 179 (char 0-1))
    int const 1 (file "", line 179 (char 3-4))
top level expr (file "", line 180 (char 0-7))
  application (file "", line 180 (char 0-7))
    application (file "", line 180 (char 0-7))
      application (file "", line 180 (char 0-7))
        record/module access (file "", line 180 (char 0-7))
          record/module access (file "", line 180 (char 0-7))
            uid "Bigarray" (file "", line 180 (char 0-7))
            uid "Array2" (file "", line 180 (char 0-7))
          lid "get" (file "", line 180 (char 0-7))
        lid "a" (file "", line 180 (char 0-1))
      int const 1 (file "", line 180 (char 3-4))
    int const 2 (file "", line 180 (char 5-6))
top level expr (file "", line 181 (char 0-9))
  application (file "", line 181 (char 0-9))
    application (file "", line 181 (char 0-9))
      application (file "", line 181 (char 0-9))
        application (file "", line 181 (char 0-9))
          record/module access (file "", line 181 (char 0-9))
            record/module access (file "", line 181 (char 0-9))
              uid "Bigarray" (file "", line 181 (char 0-9))
              uid "Array3" (file "", line 181 (char 0-9))
            lid "get" (file "", line 181 (char 0-9))
          lid "a" (file "", line 181 (char 0-1))
        int const 1 (file "", line 181 (char 3-4))
      int const 2 (file "", line 181 (char 5-6))
    int const 3 (file "", line 181 (char 7-8))
top level expr (file "", line 182 (char 0-11))
  application (file "", line 182 (char 0-11))
    application (file "", line 182 (char 0-11))
      record/module access (file "", line 182 (char 0-11))
        record/module access (file "", line 182 (char 0-11))
          uid "Bigarray" (file "", line 182 (char 0-11))
          uid "Genarray" (file "", line 182 (char 0-11))
        lid "get" (file "", line 182 (char 0-11))
      lid "a" (file "", line 182 (char 0-1))
    array 4 elements (file "", line 182 (char 0-11))
      El 1 
        int const 1 (file "", line 182 (char 3-4))
      El 2 
        int const 2 (file "", line 182 (char 5-6))
      El 3 
        int const 3 (file "", line 182 (char 7-8))
      El 4 
        int const 4 (file "", line 182 (char 9-10))
top level expr (file "", line 183 (char 0-5))
  tuple - 3 els (file "", line 183 (char 0-5))
    El 1: 
      int const 2 (file "", line 183 (char 0-1))
    El 2: 
      int const 3 (file "", line 183 (char 2-3))
    El 3: 
      int const 4 (file "", line 183 (char 4-5))
top level expr (file "", line 184 (char 0-3))
  two tuple (file "", line 184 (char 0-3))
    int const 2 (file "", line 184 (char 0-1))
    int const 3 (file "", line 184 (char 2-3))
top level expr (file "", line 185 (char 0-14))
  float neg (file "", line 185 (char 0-14))
    int neg (file "", line 185 (char 4-14))
      ref contents (file "", line 185 (char 7-14))
        application (file "", line 185 (char 9-14))
          lid "!<!" (file "", line 185 (char 9-14))
          lid "x" (file "", line 185 (char 13-14))
top level expr (file "", line 186 (char 0-38))
  typed ex (file "", line 186 (char 0-38))
    typed ex (file "", line 186 (char 1-31))
      typed ex (file "", line 186 (char 2-25))
        typed ex (file "", line 186 (char 3-18))
          ** (file "", line 186 (char 5-11))
            int const 3 (file "", line 186 (char 5-6))
            int const 4 (file "", line 186 (char 10-11))
          typ lid int (file "", line 186 (char 14-17))
        tick a (file "", line 186 (char 21-23))
      anon type (file "", line 186 (char 28-29))
    typ uid UU (file "", line 186 (char 34-36))
top level expr (file "", line 187 (char 0-11))
  int const 2 (file "", line 187 (char 6-7))
top level expr (file "", line 188 (char 0-9))
  unit (file "", line 188 (char 0-9))
top level expr (file "", line 189 (char 0-30))
  ** (file "", line 189 (char 0-30))
    int const 2 (file "", line 189 (char 0-1))
    asr (file "", line 189 (char 5-30))
      int const 3 (file "", line 189 (char 5-6))
      lsl (file "", line 189 (char 11-30))
        int const 4 (file "", line 189 (char 11-12))
        lsr (file "", line 189 (char 17-30))
          int const 5 (file "", line 189 (char 17-18))
          application (file "", line 189 (char 23-30))
            application (file "", line 189 (char 23-30))
              lid "***" (file "", line 189 (char 23-30))
              int const 6 (file "", line 189 (char 23-24))
            int const 4 (file "", line 189 (char 29-30))
top level expr (file "", line 190 (char 0-7))
  lid "***" (file "", line 190 (char 0-7))
top level expr (file "", line 191 (char 0-5))
  lid "lsl" (file "", line 191 (char 0-5))
top level expr (file "", line 192 (char 0-4))
  lid "++" (file "", line 192 (char 0-4))
top level expr (file "", line 193 (char 0-2))
  unit (file "", line 193 (char 0-2))
top level expr (file "", line 194 (char 0-22))
  record with 3 fields (file "", line 194 (char 0-22))
    field 1: 
      plid "a" (file "", line 194 (char 2-3))
      int const 2 (file "", line 194 (char 6-7))
    field 2: 
      plid "b" (file "", line 194 (char 9-10))
      int const 3 (file "", line 194 (char 13-14))
    field 3: 
      plid "c" (file "", line 194 (char 16-17))
      int const 4 (file "", line 194 (char 20-21))
top level expr (file "", line 195 (char 0-16))
  two field record (file "", line 195 (char 0-16))
    id1: (file "", line 195 (char 0-16))
      plid "a" (file "", line 195 (char 2-3))
      int const 2 (file "", line 195 (char 6-7))
    id2: (file "", line 195 (char 0-16))
      plid "b" (file "", line 195 (char 9-10))
      int const 3 (file "", line 195 (char 13-14))
top level expr (file "", line 196 (char 0-24))
  record update (file "", line 196 (char 0-24))
    expr:
      lid "a" (file "", line 196 (char 2-3))
    with 2 updates:
      update 1: 
        plid "b" (file "", line 196 (char 9-10))
        int const 5 (file "", line 196 (char 13-14))
      update 2: 
        plid "c" (file "", line 196 (char 16-17))
        int const 6 (file "", line 196 (char 20-21))
top level expr (file "", line 197 (char 0-5))
  empty array (file "", line 197 (char 0-5))
top level expr (file "", line 198 (char 0-11))
  array 3 elements (file "", line 198 (char 0-11))
    El 1 
      int const 1 (file "", line 198 (char 3-4))
    El 2 
      int const 2 (file "", line 198 (char 5-6))
    El 3 
      int const 3 (file "", line 198 (char 7-8))
top level expr (file "", line 199 (char 0-2))
  nil (file "", line 199 (char 0-2))
top level expr (file "", line 200 (char 0-7))
  :: (file "", line 200 (char 0-7))
    int const 1 (file "", line 200 (char 1-2))
    :: (file "", line 200 (char 3-7))
      int const 2 (file "", line 200 (char 3-4))
      :: (file "", line 200 (char 5-7))
        int const 3 (file "", line 200 (char 5-6))
        nil (file "", line 200 (char 0-7))
top level expr (file "", line 201 (char 0-4))
  true (file "", line 201 (char 0-4))
top level expr (file "", line 202 (char 0-5))
  false (file "", line 202 (char 0-5))
top level expr (file "", line 203 (char 0-5))
  record/module access (file "", line 203 (char 0-5))
    record/module access (file "", line 203 (char 0-5))
      uid "A" (file "", line 203 (char 0-5))
      uid "B" (file "", line 203 (char 2-5))
    lid "c" (file "", line 203 (char 4-5))
top level expr (file "", line 204 (char 0-1))
  uid "A" (file "", line 204 (char 0-1))
top level expr (file "", line 205 (char 0-1))
  lid "a" (file "", line 205 (char 0-1))
top level expr (file "", line 206 (char 0-1))
  int const 5 (file "", line 206 (char 0-1))
top level expr (file "", line 207 (char 0-2))
  int32 const 6 (file "", line 207 (char 0-2))
top level expr (file "", line 208 (char 0-2))
  int64 const 7 (file "", line 208 (char 0-2))
top level expr (file "", line 209 (char 0-2))
  nativeint const 8 (file "", line 209 (char 0-2))
top level expr (file "", line 210 (char 0-5))
  string const "abc" (file "", line 210 (char 0-5))
top level expr (file "", line 211 (char 0-6))
  float const 7.4E+2 (file "", line 211 (char 0-6))
top level expr (file "", line 212 (char 0-3))
  char const l (file "", line 212 (char 0-3))

