type Player = { Name: string; Score: int; Id: System.Guid }
{ Name: string; Score: int; Id: string }
with static member op_Implicit(p: Player) : PlayerDTO =
{ Name = p.Name; Score = p.Score; Id = p.Id.ToString() }
let p: Player = { Name = "Yan"; Score = 42; Id = System.Guid.NewGuid() }
let dto = PlayerDTO.op_Implicit(p)