python2 seems not to have collections.abc