Noob question. I realize the answer is obvious to anyone actually using Nim; I've only been playing with the basics and reading the compiler. Is it possible to implement a library interface on some typedef and have it respected by a library _which does not import your procs_ (thus having no access to your overloads)? Common cases include:  What is the text representation of this type?  What is the JSON representation of this type?  What is the SQL representation of this type? My Go servers depend on the ability to [implement]() multiple encoding interfaces on one type for 100% seamless interop between text, JSON, and SQL, because it avoids any manual transcoding. Each "model" is represented with exactly one struct which works in all contexts. I've seen Go codebases which don't use this ability, and the amount of manual conversion they do is horrifying. What's the Nim approach to that?