Added AND and OR, and maybe type inference