MatchResult match = typePattern.match(expression);
return right((Expression) new Type(expression, option(match.group(1)), match.group(2)));
}
private Either<Throwable, Expression> createValueExpression(String expression) {
return right((Expression) new Value(expression));
}