handle arrays correctly, using Align idea from scalaz