@jit.unroll_safe
    def _generate_methods(self, constr_name):
        if isinstance(constr_name, values.W_Symbol):
            constr_name = constr_name.utf8value
        else:
            constr_name = "make-" + self.name.utf8value

        count = self.total_init_field_cnt
        self.constructor_arity = Arity([count], -1)

        self.constructor = W_StructConstructor(self, constr_name)
        self.predicate   = W_StructPredicate(self)
        self.accessor    = W_StructAccessor(self)
        self.mutator     = W_StructMutator(self)
Generate constructor, predicate, mutator, and accessor
dataset/ETHPy150Open samth/pycket/pycket/values_struct.py/W_StructType._generate_methods