Change wrapper creators to return error

Because of how golang's typed nil's work, if a wrapper wants to
return a nil that can later be compared against a nil of type error,
the return'd nil has to be of type error too.

Ie: error((*HereError)(nil)) != error(nil)