Specifies contracts to build Horizon resources.
attrs() :: map()
options() :: Keyword.t()
resource() :: struct()
new(attrs(), options()) :: resource()