Simple combinator library