Refactorings and Dependency Updates

Refactored Maybe a bit, moved typedefs to separate file, removed
Nullable (overlaps w/ maybe).
Changed typedefs to try and fix compat issues when consuming.