 (defmethod cannon :minijava.ir/Move
   [x]
   (cond 
-  	(and ( isa? (:dst x ) :minijava.ir/Temp) ( isa? (:src x ) :minijava.ir/Call) )
+  	(and ( isit? (:dst x ) :minijava.ir/Temp) ( isit? (:src x ) :minijava.ir/Call) )
   			(reorderCallMove (:dst x ) (:src x ))
-  	 (isa? (:dst x) :minijava.ir/ExpSeq)
+  	 (isit? (:dst x) :minijava.ir/ExpSeq)
   	 		 (cannon (Seq (:seqs (:dst x)) (Move (:exp (:dst x)) (:src x)) ) )
   	 (true (reorderStm x) )
   			


(defmulti cannon (fn [x] (type x)))


 (defn isNop [a]
  (and (isa? a :minijava.ir/Statement) (isa? (:exp a) :minijava.ir/Const))
  )

 (defn make-seq [a b]

 )
 



