anchor.diff:              end,
               receive
                   {PythonPort, {exit_status, _Status}} ->
  -                    port_close(PythonPort),
  +                    _ = (catch port_close(PythonPort)),
                       ok
               end;
           {PythonPort, {data, {eol, Line}}} ->
  
positive.code:         {PythonPort, {data, {noeol, Line}}} ->
              wait_python_stop(PythonPort, Acc ++ Line)
      after 5000 ->
          port_close(PythonPort),
          ok
      end.
  
  
negative.code: 
  -spec send_command(python_interpreter(), string(), [term()]) -> term().
  send_command(#python_interpreter{python_port = PythonPort} = PythonInterpreter, CmdTemplate, Args) ->
      Command = mzb_string:format(CmdTemplate, Args),
      port_command(PythonPort, io_lib:format("try:\n"
          "    mzbench._instruction_end(~s)\n"
          "except:\n"
          "    traceback.print_exc()\n"
          "    mzbench._instruction_failed(sys.exc_info())\n"
          "\n", 
          [Command])),
      read_python_output(PythonInterpreter).
  
  -spec read_python_output(python_interpreter()) -> term().
  