Used to realise type safe if/else/endif blocks.
Operations are performed on current
See Implementation
Used to realise type safe if/else/endif blocks.