     (dimension-count [m x]
       (mp/dimension-count (.real m) x))
     
-    mp/PIndexedAccess
+   mp/PIndexedAccess
     (get-1d [m x]
       (c/complex-number (double (mp/get-1d (.real m) x))
                         (double (mp/get-1d (.imag m) x))))

    (get-nd [m indexes]
      (c/complex-number (double (mp/get-nd (.real m) indexes))
                        (double (mp/get-nd (.imag m) indexes))))
  
   java.lang.Object 
     (toString [m]
       (str "(" (str (.real m)) ", " (str (.imag m)) ")]"))
  
   clojure.lang.Seqable
     (seq [m]

	    (instance? ComplexArray m) (.imag ^ComplexArray m)
	    (instance? Complex m) (.getImaginary ^Complex m)
	    (number? m) 0.0
	    (and (m/array? m) (m/numerical? m)) (mp/coerce-param m (mp/broadcast-like m 0.0)) 
	    :else (error "Unable to get imaginary part of object: " m))))


