new
(
)
__gc
(
)
__eq
(
am.coin_purse
rhs
)
->
(
boolean
)
coin
(
)
->
(
integer
)
coin
(
integer
coin
)
->
(
am.coin_purse
)
can_add_coin
(
integer
coin
)
->
(
integer
)
can_remove_coin
(
integer
coin
)
->
(
integer
)
add_coin
(
integer
coin
)
->
(
am.coin_purse
)
remove_coin
(
integer
coin
)
->
(
am.coin_purse
)
max_coin
(
)
->
(
integer
)
max_coin
(
integer
max_coin
)
->
(
am.coin_purse
)
new
(
)
__gc
(
)
__eq
(
am.coin_purse
rhs
)
->
(
boolean
)
coin
(
)
->
(
integer
)
coin
(
integer
coin
)
->
(
am.coin_purse
)
can_add_coin
(
integer
coin
)
->
(
integer
)
can_remove_coin
(
integer
coin
)
->
(
integer
)
add_coin
(
integer
coin
)
->
(
am.coin_purse
)
remove_coin
(
integer
coin
)
->
(
am.coin_purse
)
max_coin
(
)
->
(
integer
)
max_coin
(
integer
max_coin
)
->
(
am.coin_purse
)