@Override
public IMatchingResult buildMatcher(IEvaluatorContext eval) {
Type type = getType().typeOf(eval.getCurrentEnvt(), true, eval.getEvaluator());
IMatchingResult absPat = this.getArgument().buildMatcher(eval);
return new GuardedPattern(eval, this, type, absPat);
}