thrift: use an array so patches are applied in correct order