type t val default : t val with_height : int -> t -> t val with_marker : Marker.t -> t -> t