# Declare functions of type

**URL:** https://discourse.julialang.org/t/declare-functions-of-type/80006
**Category:** General Usage
**Created:** [April 25, 2022, 6:53pm UTC](https://discourse.julialang.org/t/declare-functions-of-type/80006 "2022-04-25T18:53:32Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)
#### Post date: [April 25, 2022, 6:53pm UTC](https://discourse.julialang.org/t/declare-functions-of-type/80006/1 "2022-04-25T18:53:32Z")

</div>

Moved from [another thread](https://discourse.julialang.org/t/blog-post-about-my-experiences-with-julia/79976)

> Let’s say you want to know the methods to modify a Dict. In e.g. rust you can find those methods in the documentation of the Dict datatype. But if you execute apropos(“Dict”) in Julia you find both functions like Base.mergewith, but also stuff like Base.setenv or Base.Cmd.

This is a really good point. I would like a way to connect `Dict` to `mergewith` but not to `setenv`. `methodswith(Dict)` takes 9 seconds and returns values including `select_downloadable_artifacts` which is really not what I’m looking for.

I can’t think of an objective criterion that distinguishes them so it might have to be manual opt in. Can anyone think of a good way to do this?
