func (c *Collection) With(s *Session) *Collection {
	newdb := *c.Database
	newdb.Session = s
	newc := *c
	newc.Database = &newdb
	return &newc
}
func (c *Collection) With(s *Session) *Collection {
	newdb := *c.Database
	newdb.Session = s
	newc := *c
	newc.Database = &newdb
	return &newc
}
func ( c * Collection ) With ( s * Session ) * Collection { newdb := * c . Database newdb . Session = s newc := * c newc . Database = & newdb return & newc }
// With returns a copy of c that uses session s.
With returns a copy of c that uses session s .