# Should the manual discuss type parameters of keyword arguments?

**URL:** <https://discourse.julialang.org/t/should-the-manual-discuss-type-parameters-of-keyword-arguments/105752>\
**Category:** Internals & Design\
**Tags:** question, documentation, function-parameters, keyword-arguments\
**Created:** [November 3, 2023, 12:32pm UTC](https://discourse.julialang.org/t/should-the-manual-discuss-type-parameters-of-keyword-arguments/105752 "2023-11-03T12:32:16Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [November 3, 2023, 12:32pm UTC](https://discourse.julialang.org/t/should-the-manual-discuss-type-parameters-of-keyword-arguments/105752/1 "2023-11-03T12:32:17Z")

</div>

Type parameters for keyword arguments are currently

1. a convenience form, equivalent to saving the result of a `typeof`,
2. perform a subtype check when that is specified.

Eg

```julia
foo(; a::C) where {C <: Integer} = :C

```

is more or less equivalent to

```julia
function foo(; a)
    C = typeof(a)
    @assert C <: Integer # it is a MethodError, but you get the idea
    :C
end

```

Notably, [they do not participate in dispatch](https://docs.julialang.org/en/v1/manual/methods/#Note-on-Optional-and-keyword-Arguments), but the above features are undocumented.

Should we address them in the docs?

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [November 3, 2023, 12:34pm UTC](https://discourse.julialang.org/t/should-the-manual-discuss-type-parameters-of-keyword-arguments/105752/2 "2023-11-03T12:34:14Z")

</div>

Yes.
