MemoryStore.Arrayval create : 
  ?sep:[< `Dot | `Slash Slash ] ->
  ?dimension_names:string option list ->
  ?attributes:Yojson.Safe.t ->
  codecs:Zarr.Codecs.codec list ->
  shape:int list ->
  chunks:int list ->
  'a Zarr.Ndarray.dtype ->
  'a ->
  Zarr.Node.Array.t ->
  t ->
  unit Lwt.tcreate ~sep ~dimension_names ~attributes ~codecs ~shape ~chunks kind fill node t creates an array node in store t where:
sep is used in the array's chunk key encoding.dimension_names and user attributes attributes are included in it's metadata document.codecs.shape and chunk shape chunks.kind and fill value fv.val metadata : t -> Zarr.Node.Array.t -> Zarr.Metadata.Array.t Lwt.tmetadata node t returns the metadata of array node node.
val delete : t -> Zarr.Node.Array.t -> unit Lwt.tdelete t n erases array node n from store t. If node n is not a member of store t then this is a no-op.
val exists : t -> Zarr.Node.Array.t -> bool Lwt.texists t n returns true if array node n is a member of store t and false otherwise.
val write : 
  t ->
  Zarr.Node.Array.t ->
  Zarr.Ndarray.Indexing.index list ->
  'a Zarr.Ndarray.t ->
  unit Lwt.twrite t n s x writes n-dimensional array x to the slice s of array node n in store t.
val read : 
  t ->
  Zarr.Node.Array.t ->
  Zarr.Ndarray.Indexing.index list ->
  'a Zarr.Ndarray.dtype ->
  'a Zarr.Ndarray.t Lwt.tread t n s k reads an n-dimensional array of size determined by slice s from array node n.
val reshape : t -> Zarr.Node.Array.t -> int list -> unit Lwt.treshape t n shape resizes array node n of store t into new size shape. Note that when the resizing involves shrinking an array along any dimensions, any old unreachable chunks that fall outside of the array's new shape are deleted from the store.
val rename : t -> Zarr.Node.Array.t -> string -> unit Lwt.trename t n name changes the name of array node n in store t to name.