       'is-null-or-undefined', (
         type: (quantifyAll toConstrained (typeFn (atomicType 'a', star), boolType)),
         arity: ['x'])
+  for name, definition of values definitions
+    definition.final = yes
+    definition.injected = yes
+  definitions
 
 # Set/Map implementation
 

  definitions = (join (importImplicit ctx), (topLevel ctx, form))
  shouldBeExported = (name, declaration) ->
    # Exporting all to allow for private members to be imported by submodules
    not declaration.virtual and declaration.final# and declaration.exported
  isExported = (name, exported) ->
    exported
  nonVirtual = filterMap shouldBeExported, ctx._scope()
  exported = concatSets (subtractSets nonVirtual, builtInDefinitions()),
    (filterMap isExported, ctx.submodules) # TODO: separate exporting namespaces according to the separation of namespaces
  exportList = map validIdentifier, (setToArray exported)
  exportDictionary = (jsDictionary exportList, exportList)
  {definitions, exportDictionary}

      type: (type if shouldDeclare)
      tempType: type
      importable: isParent or exported
      injected: true
      id: ctx.freshId()}
    if implicit
      if exported
