
-module(exspec36) .

%-record(myrec,  {myfield :: exspec36:myt(#myrec{})}).

%-type myt() :: [exspec36:myt()] | ok.
%-type myt(A) :: list(A) | myt(integer()).% | {A,1}.
-type myt(A) :: list(A) | myt(ok) .

%-spec ff(myt(C) | [B]) -> exspec36:myt(B) when C :: exspec36:myt(ok).
%-spec ff(B :: B)  -> exspec36:myt(B) when B :: myt({list(), atom()}), is_subtype(B, tuple()).
-spec exspec36:ff(_) -> ok when A :: any(); (_) -> nok.

%ff(a) -> exspec36c:ff(b);
%ff(_)  -> ok.

%    A=1,
%    A+2/3/6+9+9.
% ri:q("mods.funs.expr[type='+'].sub").
