Track changes to options more deeply

Traverses array members looking for changes
@shadyvb Can you teach me what this means?