Why does Go's io.Reader have such a weird signature? | Hacker News Reader