Some more infrastructure, support for unary operators and type inferrence for binary operators