original.name="Template_Valid_60" ====== >>> main.whiley type Box is null | { T value } function empty() -> (Box r) ensures r is null: return null function box(T value) -> (Box r) ensures !(r is null) && r.value == value: return { value: value } function get(Box box, T dEfault) -> (T r) ensures (box is null) ==> (r == dEfault) ensures !(box is null) ==> (r == box.value): if box is null: return dEfault else: return box.value public export method test(): Box b1 = empty() Box b2 = box(1) // assert get(b1,0) == 0 assert get(b2,0) == 1 ---