Despite not having Object-Oriented Programming (OOP) language features, Go does
have interfaces.
Interfaces allow you to interchange what data types you are passing as arguments
to a function, as long as that type has the required methods.
Interfaces in Go are different compared to, say, C# or Java, in that