namespace SecondParse.Utils
open FSharpPlus.Internals
open System.Runtime.InteropServices
open System.Runtime.CompilerServices
static member Show (x: string, [<Optional>]_impl: Show) = x
static member Show (x: int, [<Optional>]_impl: Show) = string x
static member Show (x: int64, [<Optional>]_impl: Show) = string x
static member Show (x: float, [<Optional>]_impl: Show) = string x
static member Show (x: float32, [<Optional>]_impl: Show) = string x
static member Show (x: bool, [<Optional>]_impl: Show) = if x then "true" else "false"
static member inline Invoke (source: 'Show) : string =
let inline call_2 (a: ^a, b: ^b) = ((^a or ^b) : (static member Show : _*_ -> _) b, a)
let inline call (a: 'a, b: 'b) = call_2 (a, b)
call (Unchecked.defaultof<Show>, source)
static member inline InvokeOnInstance (source: 'ShowImpl) : string =
(^ShowImpl : (static member Show : _ -> _) source)
static member inline Show (x: 'ShowImpl, [<Optional>]_impl: Default1) = Show.InvokeOnInstance x
[<RequireQualifiedAccess>]
let inline show (source: 'Show) = Show.Invoke source
let test = show (5 :> int)