anchor.diff:      heartbeat(NodeName, 1).
   
   -spec heartbeat(node_name(), integer()) -> 'ok'.
  -heartbeat(_, 0) -> 
  +heartbeat(_, 0) ->
       ok; %% TODO We should log the fact that we're dropping heartbeats.
   heartbeat(NodeName, Retries) ->
       case catch gproc:send({n,l,NodeName}, %% FIXME: why not use sync_send_event?
  
positive.code: -define(DEFAULT_UP_THRESHOLD, 0.8).
  -define(DEFAULT_DOWN_THRESHOLD, 0.2).
  
  -record(state, {name                  :: node_name(), %% TODO: Flesh this out 
                  heartbeat_interval    :: integer(),
                  decay_window          :: integer(),
                  logging = normal      :: logging_level(),
  
negative.code:     lager:debug(Format, Args);
  nlog(verbose, Format, Args) ->
      lager:info(Format, Args).
  