anchor.diff:      -> ok | {error, Reason :: binary()}.
   prepare(C, QueryString) ->
       case gen_server:call(C, {prepare, QueryString}, infinity) of
  -    ok -> {ok, C};
       {error, _} ->
           {ok, Msg} = gen_server:call(C, get_last_error, infinity),
  -        {error, Msg}
  +        {error, Msg};
  +    R -> R
       end.
   
   -spec execute(connection(), binary(), list())
  
positive.code:         -> {ok, list()} | {error, Reason :: binary()}.
  fetchone(C) ->
      case gen_server:call(C, fetchone, infinity) of
      ok -> {ok, C};
      {error, _} ->
          {ok, Msg} = gen_server:call(C, get_last_error, infinity),
          {error, Msg}
      end.
  
  -spec fetchall(connection())
          -> {ok, list()} | {error, Reason :: binary()}.
  fetchall(C) ->
      case gen_server:call(C, fetchall, infinity) of
      ok -> {ok, C};
      {error, _} ->
          {ok, Msg} = gen_server:call(C, get_last_error, infinity),
          {error, Msg}
      end.
  
  -spec commit(connection())
  
negative.code:     execute(C, QueryString, []);
  execute(C, Params) when is_list(Params) ->
      case gen_server:call(C, {execute, Params}, infinity) of
      ok -> ok;
      {error, _} ->
          {ok, Msg} = gen_server:call(C, get_last_error, infinity),
          {error, Msg}
  