open System
type Int32 with
static member rng = new Random()
member x.d y =
List.sum [for i in 1 .. x -> Int32.rng.Next (1, y + 1)]
//"2d6 = " + (2.d 6 |> string) |> Console.WriteLine // error
"2d6 = " + (2 .d 6 |> string) |> Console.WriteLine
b3BlbiBTeXN0ZW0KCnR5cGUgSW50MzIgd2l0aAogICAgc3RhdGljIG1lbWJlciBybmcgPSBuZXcgUmFuZG9tKCkKICAgIG1lbWJlciB4LmQgeSA9CiAgICAgICAgTGlzdC5zdW0gW2ZvciBpIGluIDEgLi4geCAtPiBJbnQzMi5ybmcuTmV4dCAoMSwgeSArIDEpXQoKLy8iMmQ2ID0gIiArICgyLmQgNiB8PiBzdHJpbmcpIHw+IENvbnNvbGUuV3JpdGVMaW5lIC8vIGVycm9yCiIyZDYgPSAiICsgKDIgLmQgNiB8PiBzdHJpbmcpIHw+IENvbnNvbGUuV3JpdGVMaW5l