Calls.returns_proof: def of bolt@1.27.0.0 Import: import bolt@1.27.0.0/src/rules/calls.bend as Calls Lines 264-275 of bolt@1.27.0.0/src/rules/calls.bend: https://jend.leeeet.dev/read.txt?path=bolt@1.27.0.0/src/rules/calls.bend&start_line=264&end_line=275 import Base import bolt@1.27.0.0/src/syntax/tree.bend as Tree import bolt@1.27.0.0/src/lazy/lazy.bend as Lazy # does the signature return a proof, `-> {a == b : T}`? def returns_proof(sig: Tree.Node) -> Bool: match sig: case Tree.NCons{h, +rest}: match rest: case Tree.NCons{+g, r2}: Lazy.either(Bool, kind.leaf(~kind.arrow, h), _u => returns_proof.or(Tree.opens(g, "{"), returns_proof(r2)), _v => returns_proof(rest)) case _r: returns_proof(rest) case other: False{} Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/lazy/lazy.bend&name=either https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/rules/calls.bend&name=kind.arrow https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/rules/calls.bend&name=kind.leaf https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/rules/calls.bend&name=returns_proof.or https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=Node https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=opens