applicative-like encoded