original.name="ListAssign_Valid_4" ====== >>> main.whiley final PieceKind PAWN = 0 final PieceKind KNIGHT = 1 final PieceKind BISHOP = 2 final PieceKind ROOK = 3 final PieceKind QUEEN = 4 final PieceKind KING = 5 type PieceKind is (int x) where PAWN <= x && x <= KING type Piece is {bool colour, PieceKind kind} final Piece WHITE_PAWN = {colour: true, kind: PAWN} final Piece BLACK_PAWN = {colour: false, kind: PAWN} type Board is {bool flag, Piece[] rows} function f(Board board) -> Board requires |board.rows| > 0: // board.rows[0] = BLACK_PAWN return board public export method test() : Board r1 = {flag: false, rows: [WHITE_PAWN]} assume f(r1) == {flag:false,rows:[{colour:false,kind:0}]} ---