Now all we need is structural typing like golang so I don't have to explicitly tell the compiler that a class implements an interface.