test for table::mark()
test table subscript with [] operator
test table [] write access
test different table key types
rename construct_object to construct and move into separate header