defprotocol Bio.Protocols.Convertible do
@moduledoc """
The `Bio.Protocols.Convertible` protocol allows us to define implementations
of a `convert/3` function within the context that makes sense. This is part of
the approach to translating different polymers according to the nature of
actual biological or chemical processes.
This may seem convoluted, but I really think it might be a cool way to do
this. For further information, read the `Bio.Sequence.Polymer` module
documentation.
"""
@spec convert(struct(), module(), (String.t() -> String.t())) :: struct()
def convert(from, to, opts)
end