Something that's bitten me a few times -- although I'm slowly internalizing it -- is the fact that while
*Person is a pointer to a
*Individual is not a pointer to "any type implementing Individual".
*Individual is a pointer to the interface itself.
A parameter that's an interface type doesn't tell you anything about whether it's a pointer or a copy. Either can implement the interface, depending on how the methods are declared.