Tuple.toList <'a>

open Microsoft.FSharp.Reflection
let toList<'a> x = FSharpValue.GetTupleFields(x) |> Seq.cast<'a> |> List.ofSeq