Refactoring writer to behave correctly.
- The writer implementation is now more inline with how it's supposed to work.
- Fixed point and empty to check prototype as well.