Could a Lift instance be provided for the Array type? I can't say if it really makes sense or not, but it's easy enough to write an instance that type checks:
Lift
Array
instance (Ix i, Lift i, Lift e) => Lift (Array i e) where liftTyped xs = let is = bounds xs es = elems xs in [|| listArray is es ||]