I need to design a recursive function called replicate recur which will receive two arguments: times which is the number of times to repeat and data which is the number or string to be repeated. The function should return an array containing repetitions of the data argument. For instance, replicate_recur (3, 5) should return [5,5,5]. If the times argument is negative or zero, return an empty array. If the argument is invalid, raise ValueError.