It doesn't seem to be possible to define structs with private types. E.g.: ```elixir defstruct [ a: nil, b: nil ] @typep t :: %__MODULE__{ a: integer, b: binary } ``` It would be great if `typedstruct` had a `visibility` or `accessor` attribute to control `private|public` visibility.