proj-oot-ootState
Design todos
how to reconcile the not wanting hidden aliasing with wanting properties?