simple parser and simple type system.
merge