diff --git a/ivory-eval.cabal b/ivory-eval.cabal
--- a/ivory-eval.cabal
+++ b/ivory-eval.cabal
@@ -1,5 +1,5 @@
 name:                ivory-eval
-version:             0.1.0.3
+version:             0.1.0.4
 author:              Galois, Inc.
 copyright:           2014 Galois, Inc.
 maintainer:          leepike@galois.com
@@ -8,13 +8,13 @@
 cabal-version:       >= 1.10
 synopsis:            Simple concrete evaluator for Ivory programs
 description:         Warning!  This module is experimental and its implementation may change dramatically.
-homepage:            http://smaccmpilot.org/languages/ivory-introduction.html
+homepage:            http://ivorylang.org
 license:             BSD3
 license-file:        LICENSE
 source-repository    head
   type:     git
   location: https://github.com/GaloisInc/ivory
-  tag:      hackage-0103
+  tag:      hackage-0.1.0.4
 
 library
   exposed-modules:      Ivory.Eval
@@ -33,7 +33,7 @@
   main-is:              Test.hs
   ghc-options:          -Wall
 
-  build-depends: base >= 4.6 && < 5
+  build-depends: base >= 4.7 && < 5
                , base-compat
                , containers
                , tasty >= 0.10
diff --git a/src/Ivory/Eval.hs b/src/Ivory/Eval.hs
--- a/src/Ivory/Eval.hs
+++ b/src/Ivory/Eval.hs
@@ -1,5 +1,5 @@
+{-# LANGUAGE RankNTypes      #-}
 {-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE RankNTypes #-}
 {-# OPTIONS_GHC -fno-warn-name-shadowing #-}
 
 -- | A simple interpreter for a subset of Ivory.
@@ -24,23 +24,26 @@
   , evalStmt
   ) where
 
-import           Prelude ()
-import qualified Prelude.Compat as Prelude
-import           Prelude.Compat hiding (negate, div, mod, not, and, or)
+import           Prelude                                 ()
+import           Prelude.Compat                          hiding (and, div, mod,
+                                                          negate, not, or)
+import qualified Prelude.Compat                          as Prelude
 
 
-import           Control.Monad (unless,foldM,void)
+import           Control.Monad                           (foldM, unless, void)
 import           Data.Int
 import qualified Data.Map                                as Map
 import           Data.Maybe
 import qualified Data.Sequence                           as Seq
 import           Data.Word
-import           MonadLib
-                     (ExceptionM(..),runId,Id,ExceptionT,runExceptionT,sets_
-                     ,StateT,runStateT,StateM(..))
-import           Ivory.Language.Syntax.Concrete.Location
 import qualified Ivory.Language.Array                    as I
 import qualified Ivory.Language.Syntax                   as I
+import           Ivory.Language.Syntax.Concrete.Location
+import           MonadLib                                (ExceptionM (..),
+                                                          ExceptionT, Id,
+                                                          StateM (..), StateT,
+                                                          runExceptionT, runId,
+                                                          runStateT, sets_)
 
 -- XXX: DEBUG
 -- import Debug.Trace
@@ -62,7 +65,7 @@
 
 initState :: Map.Map I.Sym Value -> EvalState
 initState st = EvalState st NoLoc Map.empty
-               
+
 -- | Run an action inside the scope of a given module.
 openModule :: I.Module -> Eval a -> Eval a
 openModule (I.Module {..}) doThis = do
@@ -421,12 +424,12 @@
 evalInit ty init = case init of
   I.InitZero
     -> case ty of
-         I.TyArr _ _  -> evalInit ty (I.InitArray [])
+         I.TyArr _ _  -> evalInit ty (I.InitArray [] True)
          I.TyStruct _ -> evalInit ty (I.InitStruct [])
          _            -> return (mkVal ty 0)
   I.InitExpr ty expr
     -> evalExpr ty expr
-  I.InitArray inits
+  I.InitArray inits _
     -> case ty of
          I.TyArr len ty
            -> Array . Seq.fromList
