feature(structs): Add Collection interface and ArrayCollection implementation