general { funcon-term: initialise-giving initialise-binding sequential( check-true is-equal( match-loosely([],[]), map()), check-true is-equal( match-loosely([false],[pattern-bind"b"]), {"b"|->false}), check-true is-equal( match-loosely([false,true],[pattern-bind"a",pattern-bind"b"]), {"a"|->false,"b"|->true}), check-true is-equal( match-loosely({"a"|->false},map()), map()), check-true is-equal( match-loosely({"a"|->false,"b"|->true},{"b"|->pattern-bind"d"}), {"d"|->true}), check-true is-equal( match-loosely(true,true), map()), else( effect match-loosely([],[false]), effect match-loosely([false],[false,false]), effect match-loosely([false,true],[pattern-bind"a",pattern-bind"a"]), effect match-loosely(map(),{"a"|->true}), effect match-loosely({"a"|->true},{"a"|->false}), effect match-loosely({"b"|->true},{"b"|->pattern-any,"c"|->pattern-any}), effect match-loosely(false,true), print"OK")) ; } tests { result-term: null-value; standard-out: ["OK"]; }