class RBS::DefinitionBuilder::AncestorBuilder

def mixin_ancestors(entry, type_name, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:)

def mixin_ancestors(entry, type_name, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:)
  entry.decls.each do |d|
    decl = d.decl
    align_params = Substitution.build(
      decl.type_params.each.map(&:name),
      entry.type_params.map {|param| Types::Variable.new(name: param.name, location: param.location) }
    )
    mixin_ancestors0(decl,
                     type_name,
                     align_params: align_params,
                     included_modules: included_modules,
                     included_interfaces: included_interfaces,
                     extended_modules: extended_modules,
                     prepended_modules: prepended_modules,
                     extended_interfaces: extended_interfaces)
  end
end