     translationCache = ctx.resetAssignTo()
     call.tea = new Constrained constraints, resultType
     assignCompile ctx, call, iife concat (filter _is, [
-      translationCache
+      (map compileVariableAssignment, translationCache)
       varList varNames
       compiledCases])
 


    if assigns.length is 0
      return malformed to, 'Not an assignable pattern'
    join translationCache, map compileVariableAssignment, assigns
  else
    translatedExpression


        # "#{ctx.assignTo()}[#{i}]"
        ctx.setAssignTo (jsAccess ctx.assignTo(), "#{i}")
        elemCompiled = expressionCompile ctx, elem
        cache = ctx.resetAssignTo()
        precs: elemCompiled.precs
        assigns: cache.concat elemCompiled.assigns or []
    else
      termsCompile ctx, elems
  # TODO: could support partial tuple application via bare labels
