Reverting UnboundValue and OptionalsPipe
Change commands.Pattern to use objects for Node representation instead of a string