# Typeless typed Racket

**URL:** <https://racket.discourse.group/t/typeless-typed-racket/2944>\
**Category:** Questions & Answers\
**Tags:** typed-racket\
**Created:** [June 2, 2024, 12:40pm UTC](https://racket.discourse.group/t/typeless-typed-racket/2944 "2024-06-02T12:40:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![hendrikboom3](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/hendrikboom3/32/2748_2.png) [@hendrikboom3](https://racket.discourse.group/u/hendrikboom3)\
**Post date:** [June 2, 2024, 12:40pm UTC](https://racket.discourse.group/t/typeless-typed-racket/2944/1 "2024-06-02T12:40:49Z")

</div>

The languages [typed/racket/no-check](https://docs.racket-lang.org/ts-reference/Typed_Racket_Syntax_Without_Type_Checking.html) and [typed/racket/base/no-check](https://docs.racket-lang.org/ts-reference/Typed_Racket_Syntax_Without_Type_Checking.html) -- Do they supress all type checking? Or do they just suppress static type checking?

---

<div class="post-metadata">

**Author:** ![shawnw](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/shawnw/32/1031_2.png) [@shawnw](https://racket.discourse.group/u/shawnw)\
**Post date:** [June 2, 2024, 4:37pm UTC](https://racket.discourse.group/t/typeless-typed-racket/2944/2 "2024-06-02T16:37:51Z")

</div>

The documentation says they do no type checking; so it sounds like they just support the Typed Racket syntax but ignores any type annotations. I assume there's still run-time checks like normal Racket.

Indeed:

```scheme
$ racket -I typed/racket/no-check
Welcome to Racket v8.13 [cs].
> (string-ref 'foo 0)
string-ref: contract violation
  expected: string?
  given: 'foo
 [,bt for context]
>

```

For compile time type checks but no TR-specific run-time enforcement, there's [`#lang typed/racket/optional`](https://docs.racket-lang.org/ts-reference/behavior-of-types.html#%28tech._optional._type%29) and the base version.

```scheme
$ racket -I typed/racket/optional
Welcome to Racket v8.13 [cs].
> (string-ref 'foo 0)
string:1:12: Type Checker: type mismatch
  expected: String
  given: 'foo
  in: (quote foo)
 [,bt for context]
>

```
