Maybe marshalling for strings

* Also added (previously overlooked) Maybe marshalling from C to Haskell