 TUPLE: prepared-statement < statement ;
 TUPLE: nonthrowable-statement < statement ;
 TUPLE: throwable-statement < statement ;
+
 : make-nonthrowable ( obj -- obj' )
     dup sequence? [
         [ make-nonthrowable ] map

    ] if ;

TUPLE: result-set sql in-params out-params handle n max ;
: construct-statement ( sql in out class -- statement )
    construct-empty
        swap >>out-params

        swap >>in-params
        swap >>sql ;
    
: sql-row ( result-set -- seq )
    dup #columns [ row-column ] with map ;

