(module json (export quote_string null_value bool_value i32_value u32_value i64_value u64_value f64_value field_string field_bool field_i32 field_u32 field_i64 field_u64 field_f64 field_null array0 array1 array2 array3 object0 object1 object2 object3)) (type JsonText string) (type JsonField string) (fn quote_string ((value string)) -> JsonText (std.json.quote_string value)) (fn null_value () -> JsonText "null") (fn bool_value ((value bool)) -> JsonText (if value "true" "false")) (fn i32_value ((value i32)) -> JsonText (std.num.i32_to_string value)) (fn u32_value ((value u32)) -> JsonText (std.num.u32_to_string value)) (fn i64_value ((value i64)) -> JsonText (std.num.i64_to_string value)) (fn u64_value ((value u64)) -> JsonText (std.num.u64_to_string value)) (fn f64_value ((value f64)) -> JsonText (std.num.f64_to_string value)) (fn field_fragment ((name string) (encoded_value JsonText)) -> JsonField (std.string.concat (std.string.concat (quote_string name) ":") encoded_value)) (fn field_string ((name string) (value string)) -> JsonField (field_fragment name (quote_string value))) (fn field_bool ((name string) (value bool)) -> JsonField (field_fragment name (bool_value value))) (fn field_i32 ((name string) (value i32)) -> JsonField (field_fragment name (i32_value value))) (fn field_u32 ((name string) (value u32)) -> JsonField (field_fragment name (u32_value value))) (fn field_i64 ((name string) (value i64)) -> JsonField (field_fragment name (i64_value value))) (fn field_u64 ((name string) (value u64)) -> JsonField (field_fragment name (u64_value value))) (fn field_f64 ((name string) (value f64)) -> JsonField (field_fragment name (f64_value value))) (fn field_null ((name string)) -> JsonField (field_fragment name (null_value))) (fn array0 () -> JsonText "[]") (fn array1 ((first JsonText)) -> JsonText (std.string.concat (std.string.concat "[" first) "]")) (fn array2 ((first JsonText) (second JsonText)) -> JsonText (std.string.concat (std.string.concat (std.string.concat (std.string.concat "[" first) ",") second) "]")) (fn array3 ((first JsonText) (second JsonText) (third JsonText)) -> JsonText (std.string.concat (std.string.concat (std.string.concat (std.string.concat (std.string.concat (std.string.concat "[" first) ",") second) ",") third) "]")) (fn object0 () -> JsonText "{}") (fn object1 ((first JsonField)) -> JsonText (std.string.concat (std.string.concat "{" first) "}")) (fn object2 ((first JsonField) (second JsonField)) -> JsonText (std.string.concat (std.string.concat (std.string.concat (std.string.concat "{" first) ",") second) "}")) (fn object3 ((first JsonField) (second JsonField) (third JsonField)) -> JsonText (std.string.concat (std.string.concat (std.string.concat (std.string.concat (std.string.concat (std.string.concat "{" first) ",") second) ",") third) "}"))