Update for the language changes

and remove the use of Result type used for the error-handling
method of the library. Instead, using both crash-and-propagate and
pattern-matching is planned.
Use new impl syntax