better input validation and negative tests for it
add more brute tests
full coverage and passing tests for simplified tuples only implementation