arrow-test provides test-suites for typeclass-laws that can be run with kotlintest. propCheck is a property based testing library like quickcheck with which you can do generative-testing, state-machine-testing and race-condition testing. propCheck has no test-runner but includes helpers to run in kotlintest. So if you want to test typeclass laws (for those that exist in arrow atm) use arrow-test and if you want to test the rest of your code with property-based testing you can use propCheck. Arrow-test requires kotlintest and propCheck works with all runners.