Adventures in F# Performance – Benchmarking the F# Core Library
jackmott.github.io7 pointsby cloudroutine1 comments
type S = struct val X:int end
type [<Struct>] R = val Y:int
it's not new syntax as much as an extension of the contexts where the construct is applicable. let getPointFromOffset (point: struct (x, y)) (offset: struct (dx, dy)) = ...
^ is totally wrong let getPointFromOffset (struct(x, y) as point) (struct (dx, dy) as offset) = ...
or let getPointFromOffset ((x, y): struct(int * int)) ((dx, dy): struct(int * int)) = ...
use the proper syntax, which is consistent with the rest of F#