Suggest allowing either list or tuple as the fields arg, otherwise looks good to go.