change name listFunctions -> listAllNames. split functions and dataCon. type complete.