Persistent, type safe, heterogeneous maps