val create : ('a, 'b) kind -> 'c layout -> ('a, 'b, 'c) tval init : ('a, 'b) kind -> 'c layout -> 'a -> ('a, 'b, 'c) tval kind : ('a, 'b, 'c) t -> ('a, 'b) kindval layout : ('a, 'b, 'c) t -> 'c layoutval change_layout : ('a, 'b, 'c) t -> 'd layout -> ('a, 'b, 'd) tval size_in_bytes : ('a, 'b, 'c) t -> intval get : ('a, 'b, 'c) t -> 'aval set : ('a, 'b, 'c) t -> 'a -> unitval blit : ('a, 'b, 'c) t -> ('a, 'b, 'c) t -> unitval fill : ('a, 'b, 'c) t -> 'a -> unitval of_value : ('a, 'b) kind -> 'c layout -> 'a -> ('a, 'b, 'c) t