No, this couldn't, it will fail to compile these typespecs:

```
  1) test @type from defrecordp (Typespec.TypeTest)
     ** (CompileError) /Users/yrashk/Dropbox/Code/elixir/lib/elixir/test/elixir/typespec_test.exs:264: type '||'(_,_) undefined
     stacktrace:

  2) test @type from defrecordp with a custom tag (Typespec.TypeTest)
     ** (CompileError) /Users/yrashk/Dropbox/Code/elixir/lib/elixir/test/elixir/typespec_test.exs:275: type '||'(_,_) undefined
     stacktrace:
```