class T::InterfaceWrapper

def is_a?(other)

def is_a?(other)
  if !other.is_a?(Module)
    raise TypeError.new("class or module required")
  end
  # This makes is_a? return true for T::InterfaceWrapper (and its ancestors),
  # as well as for @interface_mod and its ancestors.
  self.class <= other || @interface_mod <= other
end