remove default restruce-handler -> fail-fast with invalid keys
fixed impl and added back the primitive support
update README & add tests