message: Print function type in AST dump
diff: @@ -119,15 +119,15 @@ void Function::Print() const {
  void Function::Print(Indent &indent) const {
  indent.Print("Function");
  - if (sym) {
  +
  + if (sym && sym->type) {
  sym->pos.Print();
  - printf(" \"%s\"\n", sym->name.c_str());
  + printf(" [%s] \"%s\"\n", sym->type->GetString().c_str(), sym->name.c_str());
  } else {
  - printf("<NULL>");
  + printf("<NULL>\n");
  }
  indent.pushList(args.size() + 1);
  - if (args.size() > 0) {
  for (int i = 0; i < args.size(); i++) {
  static constexpr std::size_t BUFSIZE{15};
  char buffer[BUFSIZE];
  @@ -141,11 +141,10 @@ void Function::Print(Indent &indent) const {
  printf("%s\n", args[i]->name.c_str());
  indent.Done();
  } else {
  - indent.Print("<NULL>");
  + indent.Print("<NULL>\n");
  indent.Done();
  }
  }
  - }
  indent.setNextLabel("body");
  if (code != nullptr) {
  