# Why ffi's \`\_list\` is bad syntax?

**URL:** <https://racket.discourse.group/t/why-ffis-list-is-bad-syntax/1264>\
**Category:** Questions & Answers\
**Created:** [August 30, 2022, 8:47pm UTC](https://racket.discourse.group/t/why-ffis-list-is-bad-syntax/1264 "2022-08-30T20:47:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![dannypsnl](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/dannypsnl/32/917_2.png) [@dannypsnl](https://racket.discourse.group/u/dannypsnl)\
**Post date:** [August 30, 2022, 8:47pm UTC](https://racket.discourse.group/t/why-ffis-list-is-bad-syntax/1264/1 "2022-08-30T20:47:53Z")

</div>

Code

```scheme
#lang racket
(require ffi/unsafe)

(_fun (_list io _uint32) -> _uint32)

```

Full error message:

```scheme
ffi.rkt:5:6: _list: bad syntax
  in: (_list io _uint32)
  location...:
   ffi.rkt:5:6
  context...:
   /Applications/Racket v8.6/collects/ffi/unsafe.rkt:349:6: do-expand
   /Applications/Racket v8.6/collects/ffi/unsafe.rkt:395:2: custom-type->keys
   /Applications/Racket v8.6/collects/ffi/unsafe.rkt:624:2: t-n-e
   .../private/map.rkt:54:19: loop
   [repeats 1 more time]
   /Applications/Racket v8.6/collects/ffi/unsafe.rkt:592:0
   /Applications/Racket v8.6/collects/syntax/wrap-modbeg.rkt:46:4

```

---

<div class="post-metadata">

**Author:** ![soegaard](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/soegaard/32/19_2.png) [@soegaard](https://racket.discourse.group/u/soegaard)\
**Post date:** [August 30, 2022, 9:09pm UTC](https://racket.discourse.group/t/why-ffis-list-is-bad-syntax/1264/2 "2022-08-30T21:09:40Z")

</div>

The `len` argument of `_list` is needed when the mode is `o` or `io`.

The error message could be better.

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/1X/f518cad99b6240c03084b383f5cc57194cd4e0f0.png)
