Because function signatures don't tell you much of anything (does this mutatedata? does it hold onto it? is a zero value there okay? does it start agoroutine? can that channel be nil? what types can I really pass for thisinterface param?), you rely on documentation, which is costly to update, andcostlier still not to update, resulting in more and more bugs.