All the types that implement this protocol.
I turn the transaction into a noun
@type t() :: term()
@spec to_noun(t()) :: Noun.t()