pub fn block(
tokens: List(#(token.Token, Int)),
) -> Result(
#(
#(tree.Expression(#(Int, Int)), #(Int, Int)),
List(#(token.Token, Int)),
),
Reason,
)
pub fn build_list(
reversed: List(
#(Int, #(tree.Expression(#(Int, Int)), #(Int, Int))),
),
acc: #(tree.Expression(#(Int, Int)), #(Int, Int)),
) -> #(tree.Expression(#(Int, Int)), #(Int, Int))
pub fn build_overwrite(
reversed: List(
#(#(a, b), String, #(tree.Expression(#(a, b)), #(a, b))),
),
acc: #(tree.Expression(#(a, b)), #(a, b)),
) -> #(tree.Expression(#(a, b)), #(a, b))
pub fn build_record(
reversed: List(
#(#(a, b), String, #(tree.Expression(#(a, b)), #(a, b))),
),
acc: #(tree.Expression(#(a, b)), #(a, b)),
) -> #(tree.Expression(#(a, b)), #(a, b))
pub fn destructured(
matches: List(
#(
#(String, #(Int, Int)),
option.Option(#(#(Int, Int), #(String, #(Int, Int)))),
),
),
term: #(tree.Expression(#(Int, Int)), #(Int, Int)),
) -> #(tree.Expression(#(Int, Int)), #(Int, Int))
pub fn expression(
tokens: List(#(token.Token, Int)),
) -> Result(
#(
#(tree.Expression(#(Int, Int)), #(Int, Int)),
List(#(token.Token, Int)),
),
Reason,
)