We shouldn't need the isinstance(fn, str) anymore, write?