anchor.diff:  -spec 'regex?'(any()) -> boolean().
   'regex?'(X) -> type(X) == re_pattern.
   
  +-spec 'var?'(any()) -> boolean().
  +'var?'(X) ->
  +  type(X) == 'clojerl.Var'.
  +
   -spec deref(any()) -> any().
   deref(X) ->
     'clojerl.IDeref':deref(X).
  
positive.code: cons(Item, undefined) ->
    list([Item]);
  cons(Item, Seq) ->
    'clojerl.IColl':cons(seq2(Seq), Item).
  
  -spec first(any()) -> any().
  first(undefined) -> undefined;
  
negative.code:          'seq?'/1,
           'map?'/1, 'list?'/1, 'vector?'/1, 'set?'/1,
           'symbol?'/1, 'keyword?'/1, 'number?'/1, 'char?'/1,
           'string?'/1, 'nil?'/1, 'boolean?'/1, 'regex?'/1, 'var?'/1,
           deref/1,
           meta/1, with_meta/2, 'meta?'/1,
           get/2, get/3,
           assoc/3,
           merge/1,
           'contains?'/2,
           boolean/1,
  