Currently `merge.unique_variable` does this ``` if equals is None: out = out.compute() for var in variables[1:]: equals = getattr(out, compat)(var) if not equals: break ``` `out` (`=variables[0]`) is always computed though it may not be necessary. One solution would be to loop through once checking attrs, shapes and `_data`. If these checks were satisfied, then we execute the above code