There's one unaddressed feedback item here. I think it got lost/hidden in the github UI.
Here's a copy:

@kr:

> You could call Fprintln here and avoid the separate adaptor type.

@tt:

> How so? Wouldn't that require the original writer to also support this method? Can you define an "extension"? ([The variable gets overridden](https://github.com/kr/hk/pull/79/files#diff-c00fa9eaa6c0ca72143b4454443edb83R65); the default writer is used in other cases. I like the composition instead of having the `term.IsTerminal(os.Stdout)` within the colorizer and always delegating through this.)

@kr:

> If we're not using the colorizer, you can call io.Copy like it used to,
instead of overwriting the variable. I think that would be simpler than
the adapter type.

> ```go
if !term.IsTerminal(os.Stdout) {
  if _, err := io.Copy(os.Stdout, resp.Body); err != nil {
    log.Fatal(err)
  }
  return
}
```