MSON AST reflecting the new specification

For @fosrias, @honzajavorek and @pksunkara to review. 
Is this correct? Shouldn't this just be a type_name?