Просто используйте :e#
сопровождаемый , Входят - который в основном говорит для редактирования последнего (нового) файла.
Select a random number, then pattern match that number with different branches returning a different instant?
Это должно сработать:
let randInst<'t>() =
let cases = Reflection.FSharpType.GetUnionCases(typeof<'t>)
let index = System.Random().Next(cases.Length)
let case = cases.[index]
Reflection.FSharpValue.MakeUnion(case, [||]) :?> 't
В этом коде предполагается, что все случаи объединения являются нулевыми и что используемый вами тип на самом деле является типом объединения, но это будет легко проверить явно эти предположения и при желании выдавать значимые исключения.