Merge pull request #3 from chrisleishman/experimental-parser

More work on experimental
Use then & ifOkThen for semanticCheck control flow