sp types no longer enumerate all their :items as actual record fields, instead leave them all in the __extmap to allow for projections of eg just the :db-ref
"item-mask" exploiting the ability to have partial projections of only some of the keys of a sp.
Allows for more fine-grained sp-update! transactions; specifying only the keys that are being updated.
item-masks and update-sp! now work correctly in is-many situations
Don't enforce completeness at the sp constructors. Enforce at database create! time
(Outstanding bug: we can break required? ness via updates)
Helper functions to normalize sp things to allow for easier testing.
(These probably should live somewhere else.)
forgot we may want lazy lists as collections in sps when doing our various mask calculations. This check is more forgiving.
Merge branch 'feature/projected-specs' into develop
v0.3.3