The SPIR-V specification says that a function parameter, where a pointer type is required, must be a memory object declaration. Currently spirv-fuzz can violate this, e.g. by knowing that id %j is a copy of id %i, where %i is a memory object declaration, and using %j in place of %i in a call.