anchor.diff:        member pu.P (_, w, t) = pW w t
         member pu.U (_, r, t) = t <- pR r}
   
  -  let inline asPairs (asP: AsPairs<'p, 'o, 't>) (P pPU: PUP<'p, 'p, 'o, 't>) =
  +  let case0 (asP: AsPairs<Empty, 't>) =
  +    let v = asP.OfPairs Unchecked.defaultof<_>
  +    prim (fun _ -> v) (fun _ _ -> ())
  +
  +  let asPairs (asP: AsPairs<'p, 't>) (pPU: PUI<'p>) =
       {new PUI<'t> () with
         member pu.P (d, w, t) =
           let mutable p = asP.ToPairs t
  
positive.code:         let mutable p = Unchecked.defaultof<_>
          pPU.U (d, r, &p)
          t <- asP.Create (&p)}
  
    type [<Bitwise; Rep>] PU () =
      inherit Rules ()
  
negative.code: namespace Infers.Toys
  
  module PU =
    open System.Runtime.CompilerServices
    open System.Collections.Generic
    open System.IO
    open Infers
  