`__schema__` is only a partially-public API. For it to show up in documentation and iex, a PR would need to be accepted to Ecto that would add a `@doc` attribute to the generated `def __schema__(…)` code.
I just did the following test, and iex acts exactly as it should:
```
defmodule TestApp do
def __test__, do: :test
end
```
In iex, `TestApp.<tab>` does not complete.
```
defmodule TestApp do
@doc "The secret __test__ function"
def __test__, do: :test
end
```
In iex, `TestApp.<tab>` completes to `TestApp.__test__`.
-a