[!WARNING]
Vapour is in (very) early alpha!
type person: object {
age: int,
name: char
}
func create(name: char): person {
return person(name = name)
}
@generic
func (p: any) set_age(age: int, ...: any): any
@default
func(p: any) set_age(age: int): null {
stop("not implemented")
}
func(p: person) set_age(age: int): person {
p$age = age
return p
}
let john: person = create("John") |>
set_age(36)