original.name="Template_Valid_63" ====== >>> main.whiley type Box is { T next } function init(T item) -> (Box p) ensures p.next == item: return {next: item} function create(Box item) -> (Box > p) ensures p.next == item: return {next: item} public export method test(): assert init(1) == {next: 1} assert create(init(2)) == {next: {next: 2}} assert create(create(init(3))) == {next: {next: {next: 3}}} ---