anchor.diff:  write (Var, Value) -> modify (Var, fun (A) -> {Value, A} end).
   
   -spec terminate (mvar(_)) -> ok. % IO
  -% Terminate mvar. Its finalizer will be executed. Future accesses to this mvar will fail.
  -terminate (Var) -> gen_server:call (Var, stop).
  +% Terminate mvar. Its finalizer will be executed. Future accesses to this mvar will fail, although repeated termination is fine.
  +terminate (Var) -> catch gen_server:call (Var, stop), ok.
   
   % gen_server callbacks %
   
  
positive.code: -type reason() :: any().
  
  handle_cast (_Request, State) -> {noreply, State}.
  handle_info (_Info, State) -> {noreply, State}.
  code_change (_OldVsn, State, _Extra) -> {ok, State}.
  
negative.code: 
  -export_type ([mvar/1]).
  -export ([create/2, new/2, new/1]).
  -export ([modify/2, modify_/2, with/2, read/1, write/2]).
  -export ([terminate/1]).
  
  -behaviour (gen_server).
  