sig
  module T :
    sig
      type 'a spine =
          Con : '-> 'Generic_view_spine.T.spine
        | App : ('-> 'b) Generic_view_spine.T.spine *
            'Generic_core.Ty.T.ty * '-> 'Generic_view_spine.T.spine
    end
  type 'a t = 'Generic_view_spine.T.spine
  val spine : 'Generic_core.Ty.T.ty -> '-> 'Generic_view_spine.T.spine
  val view : 'Generic_core.Ty.T.ty -> '-> 'Generic_view_spine.T.spine
  val rebuild : 'Generic_view_spine.T.spine -> 'a
end