`type 'a t````=` `{`

`top : 'a;`
`left : 'a;`
`bottom : 'a;`
`right : 'a;`

`}```
`include sig ... end`
`val t_of_sexp : (Base.Sexp.t ‑> 'a) ‑> Base.Sexp.t ‑> 'a t`
`val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t`
`val bin_t : 'a Bin_prot.Type_class.t ‑> 'a t Bin_prot.Type_class.t`
`val bin_read_t : 'a Bin_prot.Read.reader ‑> 'a t Bin_prot.Read.reader`
`val __bin_read_t__ : 'a Bin_prot.Read.reader ‑> (int ‑> 'a t) Bin_prot.Read.reader`
`val bin_reader_t : 'a Bin_prot.Type_class.reader ‑> 'a t Bin_prot.Type_class.reader`
`val bin_size_t : 'a Bin_prot.Size.sizer ‑> 'a t Bin_prot.Size.sizer`
`val bin_write_t : 'a Bin_prot.Write.writer ‑> 'a t Bin_prot.Write.writer`
`val bin_writer_t : 'a Bin_prot.Type_class.writer ‑> 'a t Bin_prot.Type_class.writer`
`val bin_shape_t : Bin_prot.Shape.t ‑> Bin_prot.Shape.t`
`val compare : ('a ‑> 'a ‑> int) ‑> 'a t ‑> 'a t ‑> int`
`val right : 'a t ‑> 'a`
`val bottom : 'a t ‑> 'a`
`val left : 'a t ‑> 'a`
`val top : 'a t ‑> 'a`
`module Fields : sig ... end`
`val map : 'a t ‑> f:('a ‑> 'b) ‑> 'b t`
`val int_height : int t ‑> int`
`val int_width : int t ‑> int`
`val float_height : float t ‑> float`
`val float_width : float t ‑> float`