Go has two kinds of interfaces: method sets, whose function is to allow for various kinds of composition, and type constraints, which allow for generics.