     stack-collection (instance (Collection (Stack a) a)
       {(Eq a)}
       elem? (fn [what in]
-        (fold found-or-equals False in)
-        found-or-equals (fn [found item]
-          (= what item))))
+        (= what what)))
 
     stack-bag (instance (Bag (Stack a) a)
       fold (fn [with initial over]

      malformed ctx, call, "Type annotation required"
      rest = join [type], rest
    else if not redefining
      ctx.declare macroName,
        arity: paramNames
        type: type = quantifyUnbound ctx, typeConstrainedCompile ctx, type
      call.tea = type

    if not rest.length > 0


printType = (type) ->
  if type.TypeVariable
    "_#{type.name}"
  else if type.QuantifiedVar
    "#{type.var}"
  else if type.TypeConstr
