reusable static methods to ensure valid constructor values
specs to ensure list/map type check constructor values
core Struct implementation w specs