toString and fromString for discriminated unions

General toString and fromString for discriminated unions using FSharp.Reflection