
@pnwamk did the contract testing time increase surprise you? http://drdr.racket-lang.org/39450/racket/share/pkgs/typed-racket-test/with-tr-contracts.rkt#output1

@samth I skimmed over the changes again, my guess would be perhaps now that Reps with custom constructors check their argument’s contracts twice (the custom constructor checks things, then the real constructor checks things) that may have added a lot if those are already causing a lot of our debug contract overhead

the other thing I noticed (but seems less likely) is that subtyping now has an optional KW argument, and subtyping is called a lot

But I don’t actually have any idea if optional kw args are really a source of additional noticeable overhead in general

Ah - and the contract is local (i.e. define/contract) instead of module level (i.e. provide/contract)

that could be it

i worry that running a 50+-minute test is unreasonable