Match return value if necessary
Properly cache different record types
Use better ets table name