changed unions to take a set instead of a union, this should allow for some clean helper operators. Should be able to do the same with concat but it will require some template magic
changed the define block, trying to poke the fixed point
redefined the language I'm working with, still can't get the fixed point working