anchor.diff:    sendRecv(Pid, Cmd, undef).
   sendRecv(Pid, Cmd, Arg) ->
     Pid ! {self(), {Cmd, Arg}},
  -  receive {Pid, Msg} -> Msg
  -  after 2000 -> timeout
  +  receive
  +    {Pid, Msg} -> Msg
  +    after 2000 -> timeout
     end.
   
   append(Pid) ->
  
positive.code: % Ed tutorial: http://linuxclues.blogspot.com/2012/09/ed-tutorial-line-editor-unix.html
  
  -module(eed).
  
  -compile([debug_info, export_all]).
  
  fileed(Lines, Cursor) ->
  
negative.code:       From ! {self(), ok},
        {A, B} = lists:split(Cursor, Lines),
        fileed(A ++ [Line] ++ B, Cursor + 1);
      {From, {delete, undef}} ->
        From ! {self(), ok},
        {A, [_|B]} = lists:split(Cursor-1, Lines),
        fileed(A ++ B, Cursor);
      {From, {list, undef}} ->
        From ! {self(), Lines},
        fileed(Lines, Cursor);
      {From, {print, undef}} ->
        From ! {self(), lists:nth(Cursor, Lines)},
        fileed(Lines, Cursor);
      {From, {lineCount, undef}} ->
        From ! {self(), length(Lines)},
        fileed(Lines, Cursor);
      {From, {setLineNumber, Num}} ->
        From ! {self(), ok},
        fileed(Lines, Num);
      terminate -> ok
    end.
  
  start() ->
  