Precision is the missing virtue in Go interfaces

Every parameter is a contract. Make it small enough to honor