 
   'create Set'
   """
-    data (Set "a" "b" "c")
+    data (Set "Adam" "Vojta" "Michal")
 
     elem? (macro [what in]
       (: (Fn i (Set i) Bool))
       (Js.call (Js.access in "has") {what}))
   """
-  """(elem? "a" data)""", yes
+  """(elem? "Michal" data)""", yes
 
   'create Map'
   """

  if (typeof xs === "undefined" || xs === null) {
    throw new Error('Second argument to & must be a sequence');
  }
  if (typeof xs == 'string' || xs instanceof String) {
    if (xs === '' && !(typeof x == 'string' || x instanceof String)) {
      return [x];

  types: ctx._scope()
  subs: filterMap ((name) -> name is 'could not unify'), ctx.substitution
  ast: ast
  compiled: library + immutable + compiledDefinitions.js + compiledExpression.js

typeEnumaration = (ctx) ->
  values mapMap _type, ctx._scope()
