+# Whip syntax helper lib
+# ======================
+
+# ### Object Mapper
+# Used for retrieving attribute names of an object.
 object_mapper = (obj, fn) -> fn v for v in Object.getOwnPropertyNames obj
 
+# ## Convert
+# The `convert` function takes input of any kind
+# and attempts to return a string containing the
+# whip syntax convention for that type of variable.
+#
+# For strings it will return the input with surrounding
+# double quotes. But if it's length of 1, meaning it's a
+# single character, it will return the input with
+# surrounding single quotes.
+#
+# For numbers, it just returns the number casted to a string.
+#
+# For objects, it will then convert values of it's attributes
+# and return it with the proper syntax.
+#
+# For functions, it justs returns `"(-> ...)"` to prevent
+# infinite loops. It will keep this behaivour until
+# lazy interpretation is properly implemented.
+#
+# For null or undefined values, it returns 'null' or 'undefined'.
+#
+# Otherwise, it will just cast the value to a string and return it.
 convert = (input) ->
   r = []
   if input instanceof Array

    r.push input
  r.join ''

verify = (input) ->
  i = 0
  for x in input

      when ')', '}' then i--
  i

# Exports
exports.verify = verify
exports.convert = convert
