code: func Copy(xs interface{}) interface{} {
  	chk := ty.Check(
  		new(func([]ty.A) []ty.A),
  		xs)
  	vxs, tys := chk.Args[0], chk.Returns[0]
  
  	xsLen := vxs.Len()
  	vys := reflect.MakeSlice(tys, xsLen, xsLen)
  	reflect.Copy(vys, vxs)
  	return vys.Interface()
  }
docs: // Copy has a parametric type:
  //
  //	func Copy(xs []A) []A
  //
  // Copy returns a copy of `xs` using Go's `copy` operation.