infix data ctor