Introduce Value type
Implement if blocks