Appearance
init takes no arguments and returns nothing, so the only decorator that fits it is a function of type func(func()) func().
init
func(func()) func()
decorator logged(c) { c.Next() } @logged func init() {}
func once(f func()) func() { return f } @once func init() {}