improved firm_interface's type map