Is FP Niggerlicious?

I don't know, I haven't used those enough to make a comparison
Not really. You can write untyped Racket first and then later harden your code by changing it to typed Racket. It does make your code more verbose, because with untyped Racket you can simply assume that for example a function that reads a byte from a file will always return a byte and shove the case where it returns EOF just under the rug. With typed Racket you have to handle that case as well.


Why would it? Common Lisp has type annotations as well, they are optional though. Type-annotating allows the implementation to generate faster code, catch type errors and at least in the case of SBCL types can be checked at compile time (though I'm not sure to what extent).

I have been using Chisel (Scala) for the last few months and I have to say that its been pretty nice coming from an embedded C/C++ background. While its not purely FP, going back to C++ after months of not writing any made me realize how awful C/C++ are to the point where I am probably going to sit down and learn Rust since it now has some really nice language features which C++ developers have been requesting for a while.