# SPDX-License-Identifier: MIT
def make_default():
    print('default created')
    return [10]
def append(value,values=make_default(),*,offset=2+3):
    values.append(value+offset)
    return values
print('defined')
a=append(1)
b=append(2)
print(a,b,a is b)
c=append(3,[99],offset=1)
print(c,a)
initial=7
def frozen(value=initial):
    return value
initial=100
print(frozen(),frozen(8))
def add(x,y):
    return x+y
def select(callback=add):
    return callback(2,3)
print(select())
def order(label):
    print(label)
    return 1
def captures(a=order('first'),b=order('second'),*,c=order('third')):
    print(a,b,c)
captures()
def mutate_keywords(*, values=[]):
    values.append(1)
    return values
print(mutate_keywords(),mutate_keywords())
def unused(value=order('unused default')):
    pass
class Counter:
    def __init__(self,value):
        self.value=value
    def add(self,amount):
        return self.value+amount
counter=Counter(4)
def retained_receiver(callback=counter.add):
    return callback(3)
counter=Counter(99)
print(retained_receiver(),counter.add(3))
