Map<Integer, Code> binding = new HashMap();
binding.put(0, Code.FunCall(type, Code.Variable(type.from(), 1), code.nid));
// Substitute and instantiate to get the new operand for the assertion
Code operand = function.constraint.substitute(binding).instantiate(generics);
Pair<SemanticType, Integer>[] types = new Pair[] {new Pair(type.from(), 1)};
// TODO: What type should a quantifier have?
Code assertion = Code.Quantifier(SemanticType.Bool, Code.Op.FORALL, operand, types);
block.append(new Stmt.Assert(translate(assertion)));
}