We previously believed that copy_nonoverlapping was handled as an intrinsic but the code that handles it is actually in the StatementKind::CopyNonOverlapping. We should audit this code as if it were an intrinsic (and reuse as much code from copy as possible).