anchor.diff:      }
   
   let rec private linkIgnored p =
  -    { new IPipeLink<'a, 'a, 'u>() with
  +    { new PipeLink<'a, 'a, 'u>() with
           member __.ToFunctionParser = p >>% id
           member __.ToOutputParser f = p >>% f
           member __.LinkUp up = link1 (up .>> p)
  
positive.code:     }
  
  and private link4 a b c d =
      { new IPipeLink<_, _, _>() with
          member __.ToFunctionParser = pipe4 a b c d (fun a b c d f -> f a b c d)
          member __.ToOutputParser f = pipe4 a b c d f
          member __.LinkUp up = link5 up a b c d
  
negative.code:     }
  
  // Extra type annotation on link1 is necessary due to its usage in link5.
  and private link1<'a, 'b, 'u> (a : Parser<'a, 'u>) : PipeLink<'a -> 'b, 'b, 'u> =
      { new PipeLink<'a -> 'b, 'b, 'u>() with
          member __.ToFunctionParser = a |>> (|>)
          member __.ToOutputParser f = a |>> f
          member __.LinkUp up = link2 up a
  