import gleam/option.{Some} import gleam/io import gleam/result import internal/foo import internal/foo_json pub fn main() { let foo_a = foo.Foo( a_bool: True, b_int: 1, c_float: 1.0, d_two_tuple: #(2, "3"), e_option_int: Some(4), f_string_list: ["a", "b"] ) let foo_str = foo_a |> foo_json.to_string let foo_b = foo_str |> foo_json.from_json |> result.lazy_unwrap(fn() { io.debug("parse error calling foo_json.from_json") panic }) case foo_a == foo_b { True -> io.println("foos equal") False -> { io.debug(#("a", foo_a)) io.debug(#("b", foo_b)) panic as "not equal" } } io.print(foo_str) }