sig
type 'a sp =
Base : 'a Generic_core.Ty.T.ty -> 'a Generic_view_sumprod.sp
| Empty : Generic_util.Sum.empty Generic_view_sumprod.sp
| Sum : 'a Generic_view_sumprod.sp *
'b Generic_view_sumprod.sp -> ('a, 'b) Generic_util.Sum.sum
Generic_view_sumprod.sp
| Unit : unit Generic_view_sumprod.sp
| Prod : 'a Generic_view_sumprod.sp *
'b Generic_view_sumprod.sp -> ('a * 'b) Generic_view_sumprod.sp
| Delay : 'a Generic_core.Ty.T.ty -> 'a Generic_view_sumprod.sp
| Con : string * 'a Generic_view_sumprod.sp -> 'a Generic_view_sumprod.sp
| Field : string *
'a Generic_view_sumprod.sp -> 'a Generic_view_sumprod.sp
| Iso : 'a Generic_view_sumprod.sp *
('a, 'b) Generic_util.Fun.iso -> 'b Generic_view_sumprod.sp
val sumprod : 'a Generic_core.Ty.T.ty -> 'a Generic_view_sumprod.sp
val view : 'a Generic_core.Ty.T.ty -> 'a Generic_view_sumprod.sp
end