Needs array splice. Throw better errors.