Added union types (e.g. int|real) and assumptions which are required for union types to be of any use.