match (Int32.TryParse(a)) with
printfn "x: %A, f: %A" x f
member this.Return(x) = Some x
let maybe = new MaybeBuilder()
if Array.isEmpty arr then None
else Array.get arr 0 |> Some
let parsed = maybe { let! head = tryHead argv
maybe.Bind(toInt head, fun result ->
printfn "parsed is %A" parsed
printfn "parsed2 is %A" parsedTwo