[flang] Fix some F90 unparsings; address review comments.

Original-commit: flang-compiler/f18@af33f37600e6c88f9745c9ae0400e99719819652
Reviewed-on: https://github.com/flang-compiler/f18/pull/25
Tree-same-pre-rewrite: false
diff --git a/flang/lib/parser/unparse.cc b/flang/lib/parser/unparse.cc
index 03688c5..e81440e 100644
--- a/flang/lib/parser/unparse.cc
+++ b/flang/lib/parser/unparse.cc
@@ -217,9 +217,9 @@
     Put("EXTENDS("), Walk(x.v), Put(')');
     return false;
   }
-  void Post(const EndTypeStmt &) {  // R730
-    Outdent();
-    Put("END TYPE");
+  bool Pre(const EndTypeStmt &x) {  // R730
+    Outdent(), Put("END TYPE"), Walk(" ", x.v);
+    return false;
   }
   bool Pre(const SequenceStmt &x) {  // R731
     Put("SEQUENCE");
@@ -411,6 +411,11 @@
     Walk(",", x.step);
     return false;
   }
+  bool Pre(const AcImpliedDo &x) {  // R774
+    Put('('), Walk(std::get<std::list<AcValue>>(x.t), ", ");
+    Put(", "), Walk(std::get<AcImpliedDoControl>(x.t)), Put(')');
+    return false;
+  }
   bool Pre(const AcImpliedDoControl &x) {  // R775
     Walk(std::get<std::optional<IntegerTypeSpec>>(x.t), "::");
     Walk(std::get<LoopBounds<ScalarIntExpr>>(x.t));