# Class virtual Type.fold

    class virtual ['a] fold : object .. end

    method constraint_ : constraint_ -> 'a

    method virtual crush : 'a list -> 'a

    method decl : decl -> 'a

    method expr : expr -> 'a

    method field : field -> 'a

    method poly_expr : poly_expr -> 'a

    method repr : repr -> 'a

    method rhs : rhs -> 'a

    method summand : summand -> 'a

    method gsummand : gsummand -> 'a

    method tagspec : tagspec -> 'a

    method variant : variant -> 'a