Fix #428 nested if else rendering

The program equality checker was not taking children into account
when determining equality, causing breakages under similar cases.
Create new options object for unless nesting

Fixes #343