Would something like: 

    if (tree1[1].status || tree2[1].status) { 
      tree1[1].status = (tree1[1].status === 'available' || tree2[1].status === 'available') ? 'available' : 'missing';
    }

work here? it is nice to make things those options things opaque, so they only act on information they are given to them, I dont think we should be changing the tests for this change, if we merge {} {} we get {}