Represents a callable function/tool.
@type t() :: %ExLLM.Core.FunctionCalling.Function{ description: String.t(), handler: (map() -> any()) | nil, name: String.t(), parameters: map(), validation: (map() -> {:ok, map()} | {:error, term()}) | nil }