I'm sending a reply to a request over a chan X, where X is a struct. The request is a search operation, so ideally I'd like to be able to return either an X, or report it wasn't found.
This would be a task for a Maybe X in Haskell or an x option in OCaml. Is there any decent way to do this in Go? I'm not returning a pointer (as the original object I'm returning might be modified later), so I can't just return nil.
Edit: right now I'm making it a chan interface{} and either sending an X or nil, but this is ugly and defeats type-safety.