add type annotations to combinators