The asserts on lines 30 and 63, i.e.
assert isinstance(coordinates, list)
should also accept tuples, i.e.
assert isinstance(coordinates, (list,tuple))
Since tuples are a valid format on GeoJson and some libraries (e.g. shapely) map shapes to tuples instead of lists.