Is there an elixir function that prints out the type of a value and display its fields?

See the the i/1 helper docs in IEx:

Prints information about the data type of any given term.

## Examples

    iex> i(1..5)

Will print:

    Term
      1..5
    Data type
      Range
    Description
      This is a struct. Structs are maps with a __struct__ key.
    Reference modules
      Range, Map

Example:

iex(19)> i File.stat!("README.md")
Term
  %File.Stat{access: :read_write, atime: {{2017, 3, 31}, {21, 24, 2}}, ctime: {{2017, 3, 31}, {18, 56, 52}}, gid: 20, inode: 10353339, links: 1, major_device: 16777220, minor_device: 0, mode: 33188, mtime: {{2017, 3, 31}, {18, 56, 52}}, size: 2879, type: :regular, uid: 501}
Data type
  File.Stat
Description
  This is a struct. Structs are maps with a __struct__ key.
Reference modules
  File.Stat, Map
Implemented protocols
  IEx.Info, Inspect
11 Likes