Added: Initial size parameter.
Changed: Internal error checking where the upper bounds of 1 was accepted.