@Override
public IMatchingResult buildMatcher(IEvaluatorContext eval) {
Type type = getType().typeOf(eval.getCurrentEnvt(), true, eval.getEvaluator());
IMatchingResult pat = this.getPattern().buildMatcher(eval);
IMatchingResult var = new TypedVariablePattern(eval, this, type, this.getName());
return new VariableBecomesPattern(eval, this, var, pat);
}