anchor.diff:  exec_prepared_statement(Name, Args, #state{cn=Cn, statements=Statements}=State) ->
       PrepStmt = dict:fetch(Name, Statements),
       Stmt = PrepStmt#prepared_statement.stmt,
  -    NArgs = input_transforms(Args, State),
  -    ok = pgsql:bind(Cn, PrepStmt#prepared_statement.stmt, NArgs),
  +    NArgs = input_transforms(Args, PrepStmt, State),
  +    ok = pgsql:bind(Cn, Stmt, NArgs),
       %% Note: we might get partial results here for big selects!
       Rv =
           try 
  
positive.code: %% a given query result.
  
  -spec unpack_rows(any(), [[any()]]) -> [[{any(), any()}]].
  unpack_rows(#prepared_statement{input_types=ColumnData}, RowData) ->
      Columns = [C || {C,_} <- ColumnData],
      [ lists:zip(Columns, tuple_to_list(Row)) || Row <- RowData ].
  
  
negative.code: transform(X) ->
      X.
  
  input_transforms(Data, #prepared_statement{input_types=Types}, _State) ->
      ?debugVal(Types),
      [ transform(E) || E <- Data ].
  