pattern = pattern.checkTypeAsPattern(context, Types.metaVar(Kinds.STAR));
valueContentType = pattern.getType();
value = value.checkType(context, Types.apply(monadType, valueContentType));
pattern = pattern.checkTypeAsPattern(context, Types.metaVar(Kinds.STAR));
valueContentType = pattern.getType();
value = value.checkType(context, Types.apply(monadType, valueContentType));