Well go and pattern matching... What to say... Need to clean out ast/type_name.go. It's just over complicated...