anchor.diff:      pconn._state = connClosed;
   
       //revere order since we clean up from the end
  -    if (i != null && identical(pconn, _connections[i])) {
  +    if (i != null && pconn == _connections[i]) {
         _connections.removeAt(i);
       } else {
         for (int i = _connections.length; --i >= 0;)
  -        if (identical(pconn, _connections[i])) {
  +        if (pconn == _connections[i]) {
             _connections.removeAt(i);
             break;
           }
  
positive.code: 
  
  // I like my enums short and sweet, not long and typey.
  const PooledConnectionState connecting = PooledConnectionState.connecting;
  const PooledConnectionState available = PooledConnectionState.available;
  const PooledConnectionState reserved = PooledConnectionState.reserved;
  const PooledConnectionState testing = PooledConnectionState.testing;
  const PooledConnectionState inUse = PooledConnectionState.inUse;
  const PooledConnectionState connClosed = PooledConnectionState.closed;
  
  typedef Future<pg.Connection> ConnectionFactory(
      String uri,
  
negative.code:     _state = running;
  
      //heartbeat is used to detect leak and destroy idle connection
      final leakMilliseconds = settings.leakDetectionThreshold != null ?
          math.max(1000, settings.leakDetectionThreshold.inMilliseconds ~/ 3):
          500*60*1000; //bigger than possible [idleTimeout]
      _heartbeatDuration = new Duration(milliseconds:
          math.min(leakMilliseconds,
            math.max(60000, settings.idleTimeout.inMilliseconds ~/ 3)));
      _heartbeat(); //start heartbeat
    }
    
  