anchor.diff:  
   This function will return `NaN` if `inform_shannon` returns `NaN` when applied to any of the
   distribution arguments.
  -
  -@param[in] joint      the joint probability distribution
  -@param[in] marginal_x a marginal distribution
  -@param[in] marginal_y a marginal distribution
  -@param[in] base       the logarithmic base
  -@return the mutual information
   ****
   
   ****
  
positive.code: ----
  Compute the conditional mutual entropy of a joint distribution, and the xz-, yz-, and
  z-marginals.
  
  @param[in] joint       then joint probability distribution
  @param[in] marginal_xz the xz-marginal
  @param[in] marginal_yz the yz-marginal
  @param[in] marginal_z  the z-marginal
  @param[in] base        the logarithmic base
  @return the conditional mutual information;
  ****
  
  ****
  
negative.code:         inform_dist const **marginals, size_t n, double base);
  ----
  Compute the multivariate mutual information between a collection of distributions.
  ****
  