https://code.google.com/p/go/issues/detail?id=4674
Example hand-rolled solution: https://github.com/braintree/manners