type ('constraint_, 'update_columns) t =
< constraint_ : 'constraint_
; update_columns : 'update_columns array >val create : 'a -> 'b list -> < constraint_ : 'c ; update_columns : 'b array >type public_keys = ( [ `public_keys_value_key ], [ `value ] ) ttype fee_transfers = ( [ `fee_transfers_hash_key ], [ `first_seen ] ) ttype user_commands = ( [ `user_commands_hash_key ], [ `first_seen ] ) ttype receipt_chain_hash = ( [ `receipt_chain_hashes_hash_key ], [ `hash ] ) ttype snark_jobs = ( [ `snark_jobs_job1_job2_key ], [ `job1 | `job2 ] ) ttype blocks_user_commands =
( [ `blocks_user_commands_block_id_user_command_id_receipt_chain_has ],
void )
ttype blocks_fee_transfers =
( [ `blocks_fee_transfers_block_id_fee_transfer_id_key ], void ) ttype block_snark_jobs =
( [ `blocks_snark_jobs_block_id_snark_job_id_key ], void ) ttype state_hashes = ( [ `state_hashes_value_key ], [ `value ] ) ttype blocks = ( [ `blocks_state_hash_key ], [ `block_length ] ) t