anchor.diff:  , tensorflow
   , six
   , numpy
  +, dm-tree
  +, keras
   , decorator
   , cloudpickle
   , gast
   , hypothesis
   , scipy
  +, pandas
  +, mpmath
   , matplotlib
   , mock
   , pytest
   }:
   
   let
  -  version = "0.8.0";
  +  version = "0.15.0";
     pname = "tensorflow_probability";
   
     # first build all binaries and generate setup.py using bazel
     bazel-wheel = buildBazelPackage {
  -    bazel = bazel_0_26;
  -
       name = "${pname}-${version}-py2.py3-none-any.whl";
  -
       src = fetchFromGitHub {
         owner = "tensorflow";
         repo = "probability";
  -      rev = version;
  -      sha256 = "07cm8zba8n0ihzdm3k4a4rsg5v62xxsfvcw4h0niz91c0parqjqy";
  +      rev = "v" + version;
  +      sha256 = "155fgmra90s08vjnp61qxdrpzq74xa3kdzhgdkavwgc25pvxn3mi";
       };
  -
  -    patches = [
  -      (fetchpatch {
  -        name = "gast-0.3.patch";
  -        url = "https://github.com/tensorflow/probability/commit/ae7a9d9771771ec1e7755a3588b9325f050a84cc.patch";
  -        sha256 = "0kfhx30gshm8f3945na9yjjik71r20qmjzifbigaj4l8dwd9dz1a";
  -        excludes = ["testing/*"];
  -      })
  -      (fetchpatch {
  -        name = "cloudpickle-1.2.patch";
  -        url = "https://github.com/tensorflow/probability/commit/78ef12b5afe3f567d16c70b74015ed1ddff1b0c8.patch";
  -        sha256 = "12ms2xcljvvrnig0j78s3wfv4yf3bm5ps4rgfgv5lg2a8mzpc1ga";
  -      })
  -    ];
  -
       nativeBuildInputs = [
         # needed to create the output wheel in installPhase
         python
  
positive.code: { lib
  , fetchFromGitHub
  , fetchpatch
  , bazel_0_26
  , buildBazelPackage
  , buildPythonPackage
  , python
  
negative.code:     bazelTarget = ":pip_pkg";
  
      fetchAttrs = {
        sha256 = "0sgxdlw5x3dydy53l10vbrj8smh78b7r1wff8jxcgp4w69mk8zfm";
      };
  
      buildAttrs = {
  