>>13
Type signatures
can be a hurdle. It took me quite a while to get them. However, (1) they aren't necessary for most of the simple programs a beginner would be writing, and (2) I think they also lead to more quickly understanding the underlying structural similarities of algorithms. I also don't think they're any more difficult for a non-programmer to learn. Furthermore, in
simple* programs the complaints of the type checker can be more informative than the errors you run into in a dynamic language.
Trying to learn programming from scratch by reading a book in one language and writing programs in another is indeed a terrible idea. In that case I'd either have to find a good Haskell (or ML family) book targeted at beginners (unlikely) or essentially re-write the code in SICP or HTDP as we go along. The second option would be a pain, but worthwhile if it made the rest of the task easier.
_________________
* The type checker can be hellaciously uninformative once you get beyond toys.