Fasting

> new func input(Object in)
$ energy = digest(in)
$ work(time, &energy)
$ play(time, &energy)
$ sleep(time, &energy)
$ accidents(list, severity, &energy)
$ if (energy < 0) System.Quit())
$ endfunc

> new func ratrace()
$ while (true) input(System.Input())
$ endfunc

> new func digest(Object in)
$ return calories(in)
$ endfunc

> new func fast()
$ return God.calories()
$ endfunc

> delete digest

> new func digest(Object in)
$ if (in == null) return fast()
$ else return calories(in)
$ endfunc