anchor.diff:          let d = deviation
           let m = metadata.Metadata |> Seq.head
   
  -        return new DeviantArtPostWrapper(d, Some m)
  +        return new DeviantArtPostWrapper(d, Some m) :> IPostBase
       }
   
       override __.Name = "DeviantArt (scraps)"
  -    override __.SuggestedBatchSize = 1
   
  -    override __.Fetch cursor take = async {
  -        let! items = link_wrapper.Fetch cursor take
  -        
  -        let! posts = items.Posts |> Seq.map wrapPost |> Async.Parallel
  -
  -        return {
  -            Posts = posts |> Seq.cast
  -            Next = items.Next
  -            HasMore = items.HasMore
  -        }
  -    }
  +    override __.StartNew() =
  +        let parent = link_wrapper :> AsyncSeqWrapper
  +        let sequence = parent.Cache
  +        AsyncSeq.mapAsync wrapPost sequence
   
       override __.Whoami = link_wrapper.Whoami
   
  
positive.code:     override __.GetUserIcon _ = async { return sprintf "https://a.deviantart.net/avatars/%c/%c/%s.png" username.[0] username.[1] username }
  
  type DeviantArtScrapsSourceWrapper(username: string) =
      inherit SourceWrapper<int>()
  
      let link_wrapper = username |> DeviantArtScrapsLinkSourceWrapper |> CachedSourceWrapperImpl<DeviantArtScrapsCursor>
      let app_link_regex = new Regex("DeviantArt://deviation/(........-....-....-....-............)")
  
      let wrapPost (w: IPostBase) = async {
  
negative.code: open System
  open System.Text.RegularExpressions
  open DeviantartApi.Requests.Deviation
  open FSharp.Control
  
  type internal DeviantArtScrapsLinkWrapper(url: string) =
      interface IPostBase with
  