Module Variance

module Variance: sig .. end
This module is entirely devoted to computing the variance of type parameters in data types.

This module uses Fix, which we bundle as part of Mezzo. See Fix's webpage.

val leq : TypeCore.variance -> TypeCore.variance -> bool
Compare two variances and tell if the second one subsumes the first one.
val analyze_data_types : TypeCore.env -> TypeCore.var list -> TypeCore.env
Perform variance computations on a set of data types, and return an environment where variances have been updated.