// Chain extends a chain, adding the specified constructors
// as the end of the chain.
//
// Chain returns a new chain, leaving the original one untouched.
Chain extends a chain, adding the specified constructors
as the end of the chain.

Chain returns a new chain, leaving the original one untouched.
// Chain extends a chain adding the specified constructors // as the end of the chain . // // Chain returns a new chain leaving the original one untouched .
func (c Chain) Chain(constructors ...C) Chain {
	newCons := make([]C, len(c)+len(constructors))
	copy(newCons, c)
	copy(newCons[len(c):], constructors)
	return newCons
}
func ( c Chain ) Chain ( constructors ... C ) Chain { newCons := make ( [ ] C , len ( c ) + len ( constructors ) ) copy ( newCons , c ) copy ( newCons [ len ( c ) : ] , constructors ) return newCons }
Chain extends a chain, adding the specified constructors
as the end of the chain.
Chain extends a chain adding the specified constructors as the end of the chain .