refactor generics section to use custom types

we now have the `type label :` syntax for custom types so this
  should be used whenever you use a type that is not a builtin.
there was an error in the original line, but in the updated version it should read `callback: (err: Error, contents: Buffer) => void`