-module(bibi). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([new/1, to_int/1, main/0]). -export_type([positive_int/0]). -opaque positive_int() :: {positive_int, integer()}. -file("src/bibi.gleam", 17). -spec new(integer()) -> positive_int(). new(I) -> case I >= 0 of true -> {positive_int, I}; false -> {positive_int, 0} end. -file("src/bibi.gleam", 24). -spec to_int(positive_int()) -> integer(). to_int(I) -> erlang:element(2, I). -file("src/bibi.gleam", 3). -spec main() -> integer(). main() -> Positive = new(1), Zero = new(0), Negative = new(-1), gleam@io:debug(to_int(Positive)), gleam@io:debug(to_int(Zero)), gleam@io:debug(to_int(Negative)).