show(io::IO, x)

this changes show to require the first argument to be declared a subtype of IO. This pull request also includes my updates to put the repl in cooked mode because I did this while trying to track down a typo that turned out to be unrelated. But I assume this is better?