Remove more footprint, improve numpy compat using 'O' type