Passing an optional type to `HyperFieldDecoder()` seems pretty magical. I'd say let's keep `hypermedia.Hyperlink` for now util we find a better solution. As long as `hypemedia.Hyperlink` interacts with primitive types, we don't need to import anything from Sawyer