All the types that implement this protocol.
@type t() :: term()
@spec body(t()) :: any()
@spec from_body(t(), any(), Macfly.Options.t()) :: {:ok, t()} | {:error, String.t()}
@spec name(t()) :: String.t()
@spec type(t()) :: integer()