Sure, but I intended that I'm not sure if D doesn't expect a dedicated copy in this case. E.g., say the type defines a destructor. So before returning from the callee, the parameter is destructed. But in this case we wouldn't want that as the (destructed) original may yet be used by the caller after the call! So that's probably a task for the D front-end rather than our LLVM front-end.