Musings around writing an API in Go