anchor.diff:                  | G(x) -> x :> obj
               let events = changeset.Items |> Seq.map extract |> Seq.toArray
               { SerializableChangeset.Id = changeset.Id; Items = events }
  -        let duObs = Observer.Create(toObj >> sut.OnNext)
  +        let duObs = Observer.Create(toObj >> writer.OnNext)
           duObs.OnNext({ Id = id; Items = [| tef |> F; teg |> G |]})
   
           let ofObj (changeset : SerializableChangeset) =
  
positive.code: 
      [<Theory; InMemoryXmlConventions>]
      let SutCorrectlyRoundTripsChangesetOfDiscriminatedUnions
          (sut : AtomEventStream<SerializableChangeset>)
          (tef : TestEventF)
          (teg : TestEventG)
          (id : Guid) =
  
negative.code:                 | _ -> raise(System.ArgumentException("Unknown event type."))
              let events = changeset.Items |> Array.map infuse
              { Id = changeset.Id; Items = events }
          let duSeq = reader |> Seq.map ofObj
          let actual = duSeq |> Seq.toList
  
          let expected = [ { Id = id; Items = [| tef |> F; teg |> G |] } ]
  