switch x, y, z { case true: ... # any are true case false, _: ... # x == false case _, null, true: ... # y == null or z == true case xor _, true, true: ... # y == true xor z == true } switch 0 { case x, y: ... # x or y equals 0 ... } switch[and] x, y, z { case true: ... # all are true case false, _: ... # x == false case _, null, true: ... # y == null and z == true }