There's no reason why you can't have types and contracts though. I personally can't live without compile time guarantees.
With my typing trouble I should have come to the user list and asked, but I dId not, frustrated and thinking I was too stupid to get it ^^'
I did once at least see a question on the mailing list, where the answer was, that typed racket could not do it, as in infer types, so it might not be perfect yet, or perhaps it did improve since then.
I wish more Schemes could just copy the typed part of typed racket, using that macro language, as in theory they should be able to represent it, but I guess the devil is in the detail and slightly different workings of macro facilities.
Do you think it is not possible to express these things in syntax-case? And if so, why?
And in C# at least contracts can be disabled for release builds so that the performance penalty is only inflicted on the developers.
[1] https://docs.microsoft.com/en-us/dotnet/framework/debug-trac...