add `upon` combinator, update version