anchor.diff:  
   open Pfarah.Operators
   
  -let data : ParaResult<string * int> = para {
  +para {
     let! name = obj?name >>= ParaValue.asString
     let! strength = obj?strength >>= ParaValue.asInteger
     return name, strength
  
positive.code: | Error(error) -> printfn "%s" error
  
  // In reality the code may be written like:
  ParaValue.Parse data
  |> ParaValue.collect "ship"
  |> ParaValue.flatMap parseShip
  |> ParaResult.map (Array.sortByDescending snd)
  
negative.code: """
  
  // Let's define a common function to parse each ship with patrol
  let parseShip2 (ship : ParaValue) = para {
    let! name = ship?name >>= asString
    let! strength = ship?strength >>= asInteger
    let! (patrolVal : ParaValue option) = ParaValue.tryGet "patrol" ship
  