anchor.diff:      };
     };
   
  +  MetricsAny = buildPerlModule {
  +    pname = "Metrics-Any";
  +    version = "0.05";
  +    src = fetchurl {
  +      url = mirror://cpan/authors/id/P/PE/PEVANS/Metrics-Any-0.05.tar.gz;
  +      sha256 = "1xg7y8szbfwmh72y8l1w0rz4jrd66hisl6hh3hyq31f52cs6hwvr";
  +    };
  +    buildInputs = [ TestFatal ];
  +    meta = {
  +      description = "abstract collection of monitoring metrics";
  +      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
  +    };
  +  };
  +
     # TODO: use CPAN version
     MHonArc = buildPerlPackage rec {
       pname = "MHonArc";
  
positive.code: 
    IOAsync = buildPerlModule {
      pname = "IO-Async";
      version = "0.75";
      src = fetchurl {
        url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.75.tar.gz";
        sha256 = "1mi6gfbl11rimvzgzyj8kiqf131cg1w9nwxi47fwm9sbs0x6rkjb";
      };
      propagatedBuildInputs = [ Future StructDumb ];
      buildInputs = [ TestFatal TestIdentity TestRefcount ];
      meta = {
        description = "Asynchronous event-driven programming";
        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
  
negative.code:     };
      meta = {
        description = "assert that code does not cause growth in memory usage";
        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
      };
    };
  
    TestMetricsAny = buildPerlModule {
      pname = "Test-Metrics-Any";
      version = "0.01";
      src = fetchurl {
        url = mirror://cpan/authors/id/P/PE/PEVANS/Test-Metrics-Any-0.01.tar.gz;
        sha256 = "0s744lv997g1wr4i4vg1d7zpzjfw334hdy45215jf6xj9s6wh1i5";
      };
      propagatedBuildInputs = [ MetricsAny ];
      meta = {
        description = "assert that code produces metrics via L<Metrics::Any>";
        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
      };
    };
  