Switch to applicative syntax
Cleanup
Fix pragmas, make fields strict
Update README