Added support for changed callback for updating duplicated data, and type detection for multi-type arrays using matches{} keyword