Loss function not working (RNN)
What happened was that 

xs[0] = np.zeros((numInputs, 1))


Generates an array of ((4, 1)), and 

xs[t + 1] = x[t]


Generates an array of ((1, 4)). To solve this, I transposed x[t] so now it is the same shape as above - ((4, 1)):

xs[t + 1] = np.array([x[t]]).T


Annoying bug and hard to solve, but a fairly easy solution.