proc/MyProc(MyType/A,B,MyType/C) //arguments declared like this proc/MyProc(MyType/A,MyType/C,B) //were actually interpreted like this
So values passed into the proc were showing up in the wrong variables.
mob/verb/test(M as mob/MyType) //error: input type must be atomic (ie just mob)
(Zilal)