Delete nulls from Array

This is in response to #8 (which can still be merged later if we want)

This does not change the current behavior at all, it just makes the the behavior clear in the specs since the behavior is untested. The second commit is a refactor to simplify things a bit.