anchor.diff:  import Vector::*;
   import MIMO::*;
   import DefaultValue::*;
  +import Gearbox::*;
   
   interface PipeIn#(type a);
      method Action enq(a v);
  
positive.code: 		 method Bool notEmpty();
  		    return in.deqReadyN(fromInteger(valueOf(n)));
  		 endmethod
  	      endinterface);
     endfunction
  endinstance
  
negative.code: 		 method first(); return in; endmethod
  		 method Action deq(); endmethod
  		 method Bool notEmpty(); return False; endmethod
  	      endinterface);
     endfunction
  endinstance
  
  instance ToPipeIn#(Vector#(m, a), Gearbox#(m, n, a));
     function PipeIn#(Vector#(m, a)) toPipeIn(Gearbox#(m, n, a) in);
        return (interface PipeIn#(Vector#(m, a));
  		 method enq = in.enq;
  		 method notFull = in.notFull;
  	      endinterface);
     endfunction
  endinstance
  