compose attempts to .copy(), warn if deepcopy