|  | I noticed that mapping over a string is broken because it produces only a string instead of a list. In other words, (map [coerce _ 'int] "foo") fails. I'm pretty sure Arc inherits this from Scheme, given the error message. Here's what I'd like to see work:  (map [coerce _ 'int] "foo")
  Error: string-set!: expects type <character> as 3rd argument, given: 102.
 But I'd settle for the first one. The second I think is impossible to produce in a dynamically typed language because you never know what a function will return:  (map [coerce _ 'int] "foo")
  => '(102 111 111)
  (map [coerce _ 'char] '(102 111 111))
  => "foo"
   (map [and (> (coerce _ 'int) 110) _] "foo")
 |