anchor.diff:  
   filter_stm_list([H|T], Acc) ->
       filter_stm_list(T, [H | Acc]).
  -
  
positive.code: 
      async_execute_statement(Statement).
  
  -spec(async_execute(Identifier :: atom() | binary(), Params :: list()) ->
      {ok, Tag :: reference()} | badarg | {error, Reason :: binary()}).
  
  async_execute(Identifier, Params) ->
      async_execute(Identifier, ?BIND_BY_INDEX, Params).
  
  -spec(async_execute(Identifier :: atom() | binary(), BindType :: integer(), Params :: list()) ->
      {ok, Tag :: reference()} | badarg | {error, Reason :: binary()}).
  
  async_execute(Identifier, BindType, Params) ->
      case is_atom(Identifier) of
  
negative.code: 
      async_execute_statement(Stm).
  
  -spec(execute(Identifier :: atom() | binary()) -> {ok, Result :: list()} | ec_error()).
  
  execute(Identifier) ->
      {ok, Tag} = async_execute(Identifier),
      receive_response(Tag).
  
  -spec(execute(Identifier :: atom() | binary(), Params :: list()) -> {ok, Result :: list()} | ec_error()).
  
  execute(Identifier, Params) ->
      execute(Identifier, ?BIND_BY_INDEX, Params).
  
  -spec(execute(Identifier :: atom() | binary(), BindType :: integer(), Params :: list()) -> {ok, Result :: list()} | ec_error()).
  
  execute(Identifier, BindType, Params) ->
      {ok, Tag} = async_execute(Identifier, BindType, Params),
      receive_response(Tag).
  
  -spec(batch_async_execute(BatchType :: integer(), StmList :: list(), Options :: list()) -> {ok, Tag :: reference()} | ec_error()).
  
  batch_async_execute(BatchType, StmList, Options) ->
      gen_server:call(?MODULE, {batch_execute, BatchType, StmList, Options}).
  
  -spec(batch_execute(BatchType :: integer(), StmList :: list(), Options :: list()) -> {ok, Result :: list()} | ec_error()).
  
  batch_execute(BatchType, StmList, Options) ->
      {ok, Tag} = batch_async_execute(BatchType, StmList, Options),
  