- The decision to use a value or pointer receiver should not be based on whether the method is mutating the receiving value.
- The decision should be based on the nature of the type.
- One exception to this guideline is when you need the flexibility that value type receivers provide when working with interface values.