(^) unisgned char => byte (also char=>byte, where wrong)
(^) `delay´ => `recursive´
(+) `bool´ type