def METHOD_NAME(self, name: str, typ: VyperType, is_mutable: bool = True) -> int:
    """
    Allocate memory for a user-defined variable.
    Arguments
    ---------
    name : str
        Name of the variable
    typ : VyperType
        Variable type, used to determine the size of memory allocation
    Returns
    -------
    int
        Memory offset for the variable
    """
    var_size = typ.memory_bytes_required
    return self._new_variable(name, typ, var_size, False, is_mutable=is_mutable)