Live from New York...

I hope I remember why tomorrow...
Double for loop is gone - this is what was causing the segfault,
basically.  The key is that attrDescArray has the names of the output
attributes, so you just use that to get the attributes from either file
that you need.

So once the segfaults stopped, the real confusing thing was which thing
was supposed to go on the outside vs inside and the implications that
has on op.  Scouring piazza + trial and error led me to the current
situation, where we have attr2 on the outside and therefore swap the
op... It gives us the right solution for the published test case whereas
for some reason it appeared to me that having attr1 on the outside and
op the way it was supposed to be didn't.  It could just be that there
was a bug in evalOp that was fixed when I did the reversal... Don't
know, don't really care.  It works...I think