Might be worthwhile reading https://docs.google.com/a/golang.org/document/d/1wmjrocXIWTr1JxU-3EQBI6BK6KgtiFArkG47XK73xIQ/preview?sle=true&pli=1#heading=h.xy314pvxblbm