+instance print FunDecl where
+ print (FunDecl i as t vs ss) =
+ ["\n", i, " (":strJoin "," (map (\i->[i]) as)] ++
+ [") :: ":print t] ++
+ ["{\n\t":strJoin "\n\t" (map print vs)] ++
+ ["\n":printStatements ss 1] ++ ["\n}"]
+
+printStatements :: [Stmt] Int -> [String]
+printStatements _ _ = []
+
+//TODO
+instance print FunType where
+ print _ = []
+
+//TODO
+instance print Stmt where
+ print _ = []