[R1] First Revision, any type of ArrayList accepted.

I've changed some code to allow any type of ArrayList to be written or
read, this should allow the API to be used for a larger range of things.