anchor.diff:      TLs = threshold_locks(PLs, proplists:get_value(thresholds, Opts, [])),
       SLs =      sort_locks(TLs, proplists:get_value(sort,       Opts, time)),
       CLs =       cut_locks(SLs, proplists:get_value(max_locks,  Opts, none)),
  -	    reverse_locks(CLs, proplists:get_value(reverse,    Opts, false)).
  -
  -sort_locks(Locks, Type)   -> lists:reverse(sort_locks0(Locks, Type)).
  -sort_locks0(Locks, name)  -> lists:keysort(#print.name, Locks);
  -sort_locks0(Locks, id)    -> lists:keysort(#print.id, Locks);
  -sort_locks0(Locks, type)  -> lists:keysort(#print.type, Locks);
  -sort_locks0(Locks, tries) -> lists:keysort(#print.tries, Locks);
  -sort_locks0(Locks, colls) -> lists:keysort(#print.colls, Locks);
  -sort_locks0(Locks, ratio) -> lists:keysort(#print.cr, Locks);
  -sort_locks0(Locks, time)  -> lists:keysort(#print.time, Locks);
  -sort_locks0(Locks, _)     -> sort_locks0(Locks, time).
  +	    reverse_locks(CLs, not proplists:get_value(reverse,Opts, false)).
  +
  +sort_locks(Locks, name)  -> lists:keysort(#print.name, Locks);
  +sort_locks(Locks, id)    -> lists:keysort(#print.id, Locks);
  +sort_locks(Locks, type)  -> lists:keysort(#print.type, Locks);
  +sort_locks(Locks, tries) -> lists:keysort(#print.tries, Locks);
  +sort_locks(Locks, colls) -> lists:keysort(#print.colls, Locks);
  +sort_locks(Locks, ratio) -> lists:keysort(#print.cr, Locks);
  +sort_locks(Locks, time)  -> lists:keysort(#print.time, Locks);
  +sort_locks(Locks, _)     -> sort_locks(Locks, time).
   
   % cut locks not above certain thresholds
   threshold_locks(Locks, Thresholds) ->
  
positive.code: 	locations/1,
  	inspect/1,
  	inspect/2,
  	information/0,
  	swap_pid_keys/0,
  	% set options
  
negative.code: 	(L) ->
  	    L
      end, Locks),
      {reply, ok, State#state{ locks = SwappedLocks}};
  
  % settings
  