Better handling of subtypes, changed read/write -> access/set
Added checking unused varargs