         # assume if definedParams.length > 0
         argName = freshName nameIndex
         param = definedParams[0]
-        context = concat context, newMapWith param.token, argName
+        context = concatMaps context, newMapWith param.token, argName
         [s1, nextIndex, body] = infer context, body, nameIndex + 1
         expression.tea = (subExp s1, [argName, body.tea])
         [s1, nextIndex, expression]

    addToMap initialized, k, args[i + 1]
  initialized

# end of Set

# Type inference and checker

    opTea = op.tea
  [s2, nextIndex, arg] = infer (subContext s1, context), arg, nextIndex
  s3 = unify (subExp s2, opTea), [arg.tea, returnName]
  [(concatMaps s3, s2, s1), nextIndex, (subExp s3, returnName)]



