{
  "content": "(module t4_count_zeros\n  (data List (vars a)\n    (ctor Nil)\n    (ctor Cons a (con List)))\n  (fn count_zeros\n    (doc \"Count zeros in an Int list using the prelude Eq Int instance.\")\n    (type (fn-type (params (con List)) (ret (con Int))))\n    (params xs)\n    (body (match xs\n      (case (pat-ctor Nil) 0)\n      (case (pat-ctor Cons h t) (if (app == h 0) (app + 1 (app count_zeros t)) (app count_zeros t))))))\n  (fn main\n    (doc \"Print count_zeros(Nil) and count_zeros(Cons(0, Cons(5, Cons(0, Cons(3, Cons(0, Nil)))))) each on its own line.\")\n    (type (fn-type (params) (ret (con Unit)) (effects IO)))\n    (params)\n    (body (seq (do io/print_int (app count_zeros (term-ctor List Nil)))\n      (seq (do io/print_int (app count_zeros (term-ctor List Cons 0 (term-ctor List Cons 5 (term-ctor List Cons 0 (term-ctor List Cons 3 (term-ctor List Cons 0 (term-ctor List Nil)))))) (term-lit-unit))))))\n)",
  "usage": {
    "completion_tokens": 293,
    "prompt_tokens": 7776,
    "total_tokens": 8069
  }
}