Parse list

Work in progress
This is strange. Surely zero should be return none -- I realise it's not sensible to return 0 rows, but isn't -1 a better flag value here? Not a biggie, but I wouldn't have chosen 0. Perhaps I am missing a convention.