diff --git a/babelapi/data_type.py b/babelapi/data_type.py
index <HASH>..<HASH> 100644
--- a/babelapi/data_type.py
+++ b/babelapi/data_type.py
@@ -788,3 +788,5 @@ def is_timestamp_type(data_type):
     return isinstance(data_type, Timestamp)
 def is_union_type(data_type):
     return isinstance(data_type, Union)
+def is_numeric_type(data_type):
+    return is_integer_type(data_type) or is_float_type(data_type)
diff --git a/babelapi/generator/generator.py b/babelapi/generator/generator.py
index <HASH>..<HASH> 100644
--- a/babelapi/generator/generator.py
+++ b/babelapi/generator/generator.py
@@ -77,6 +77,19 @@ class Generator(object):
         self.cur_indent -= dent
 
     @contextmanager
+    def block(self, header='', dent=None, delim=('{','}')):
+        if header:
+            self.emit_line('{} {}'.format(header, delim[0]))
+        else:
+            self.emit_line(delim[0])
+        self.emit_empty_line()
+
+        with self.indent(dent):
+            yield
+
+        self.emit_line(delim[1])
+
+    @contextmanager
     def indent_to_cur_col(self):
         """
         For the duration of the context manager, indentation will be set to the
Add some utility functions to babel

Reviewed By: kelkabany