   typeOrConstraint
 
 mutateMarkingOrigin = (typeOrConstraint, expression) ->
-  typeOrConstraint.origin = expression
+  # typeOrConstraint.origin = expression
 
 # Clones constrained types and parts of them
 # Class constraint arguments are not cloned

        pattern: []
    else
      atom.label = 'name'
      id = (ctx.definitionId()) ? (ctx.declarationId symbol) ? ctx.freshId()
      type = toConstrained ctx.freshTypeVariable star
      # ctx.bindTypeVariables [type.type.name]
      ctx.addToDefinedNames {name: symbol, id: id, type: type}

      # log "adding types", (map _symbol, params), paramTypes
      ctx.declareTyped paramNames, paramTypes
      for param in params
        param.id = ctx.currentDeclarationId _symbol param

      # Declare wheres first so they properly shadow parent scope
      preDeclarePatterns ctx, _fst unzip pairs wheres
